latest
This commit is contained in:
parent
4f568ecbc8
commit
a2e6f3d5ff
@ -31,6 +31,14 @@ import Foundation
|
||||
return selectedRowText
|
||||
}
|
||||
|
||||
public func delimiter(for index: Int) -> String {
|
||||
|
||||
guard let delimiters = delimiters else { return " " }
|
||||
guard index != components.count - 1 else { return "" }
|
||||
|
||||
return delimiters[index]
|
||||
}
|
||||
|
||||
/// A string of the picker row concatenated by whitespace or delimiters if provided.
|
||||
public var selectedRowText: String {
|
||||
|
||||
@ -38,13 +46,7 @@ import Foundation
|
||||
|
||||
for i in 0..<components.count {
|
||||
let pickerIndex = selectedIndexes[i] ?? 0
|
||||
|
||||
if i < components.count - 1, let delimiters = delimiters {
|
||||
text += components[i][pickerIndex] + delimiters[i]
|
||||
|
||||
} else {
|
||||
text += components[i][pickerIndex] + (i == components.count - 1 ? "" : " ")
|
||||
}
|
||||
text += components[i][pickerIndex] + delimiter(for: i)
|
||||
}
|
||||
|
||||
return text
|
||||
|
||||
@ -98,20 +98,21 @@ import UIKit
|
||||
set {
|
||||
textEntryFieldModel?.text = newValue
|
||||
|
||||
if let regex = textEntryFieldModel?.displayFormat,
|
||||
let mask = textEntryFieldModel?.displayMask,
|
||||
let newText = newValue {
|
||||
|
||||
let range = NSRange(newText.startIndex..., in: newText)
|
||||
|
||||
if let regex = try? NSRegularExpression(pattern: regex) {
|
||||
let maskedText = regex.stringByReplacingMatches(in: newText,
|
||||
range: range,
|
||||
withTemplate: mask)
|
||||
textField.text = maskedText
|
||||
}
|
||||
} else {
|
||||
guard let regex = textEntryFieldModel?.displayFormat,
|
||||
let mask = textEntryFieldModel?.displayMask,
|
||||
let newText = newValue
|
||||
else {
|
||||
textField.text = newValue
|
||||
return
|
||||
}
|
||||
|
||||
let range = NSRange(newText.startIndex..., in: newText)
|
||||
|
||||
if let regex = try? NSRegularExpression(pattern: regex) {
|
||||
let maskedText = regex.stringByReplacingMatches(in: newText,
|
||||
range: range,
|
||||
withTemplate: mask)
|
||||
textField.text = maskedText
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user