У меня есть проект iOS
Xcode 7.3 Swift2
, над которым я работаю. Он имеет разные UITextFields
, которые ограничены 3 цифрами, а именно только цифрами. Они назначены на UITextFieldDelegate
, и это работает хорошо.
Вот где я ограничиваю их:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
guard let text = textField.text else { return true }
let newLength = text.characters.count + string.characters.count - range.length
let limitLength = 3
if newLength > limitLength {
return false
}
let numberOnly = NSCharacterSet.init(charactersInString: "0123456789")
let stringFromTextField = NSCharacterSet.init(charactersInString: string)
let strValid = numberOnly.isSupersetOfSet(stringFromTextField)
return strValid
}
Тем не менее, некоторые из UITextFields
должны быть по-прежнему ограничены числами И также должны быть ограничены одной цифрой, как я могу установить это в разделе выше, только для этих конкретных UITextFields
?
Имена UITextFields
, которые должны быть однозначными:
widthInches
lengthInches
Я попытался разместить это после первой секции охраны, но безуспешно:
guard let text2 = widthInches.text else { return true }
let newLength2 = text2.characters.count + string.characters.count - range.length
let limitLength2 = 3
if newLength2 > limitLength2 {
return false
}