我的意图是为两个输入字段设置两个不同的最大长度值,notifTitle
和 notifDescribtion
。
到目前为止我有:
extension CreateNotViewController: UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let maxLength = 15
let currenString: NSString = textField.text! as NSString
let newString: NSString = currenString.replacingCharacters(in: range, with: string) as NSString
return newString.length <= maxLength
}
}
override func viewDidLoad() {
super.viewDidLoad()
notifTitle.delegate = self
...
}
现在如果我还添加 notifDescribtion.delegate = self
,它的最大长度也设置为 15 个字符。我如何能够为每个输入字段单独设置最大长度。
最佳答案
您可以在文本字段之间切换
class CreateNotViewController: UIViewController {
@IBOutlet weak private var notifTitle: UITextField!
@IBOutlet weak private var notifDescribtion: UITextField!
}
extension CreateNotViewController: UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let maxLength: Int
switch textfield {
case notifTitle:
maxLenght = 15
case notifDescribtion:
maxLenght = 10
default:
maxLenght = 0
}
let currenString: NSString = textField.text! as NSString
let newString: NSString = currenString.replacingCharacters(in: range, with: string) as NSString
return newString.length <= maxLength
}
}
关于ios - Swift - 将不同的最大长度设置为一个 ViewController 内的两个输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55904265/