Ben*_*Ben 1 uitextfield ios swift
一个限制一个长度的解决方案TextField但是功能count已经更新,也是count()功能,所以我不明白如何使用这个:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let newLength = count(textField.text.utf16) + count(string.utf16) - range.length
return newLength <= 10 // Bool
}
Run Code Online (Sandbox Code Playgroud)
如何更新这个以多个工作TextField,我想我必须说
textField = thisTextField.text...
Run Code Online (Sandbox Code Playgroud)
shouldChangeCharactersInRange执行以下操作(引自文档)
询问代理是否应更改指定的文本.
您添加的此方法代码会检查它是否超出您的限制(在您的示例中,它是10)并返回false,这意味着textField不应更改值.如果它没有超过限制,它将返回true,textField将更改值.
要为多个textField执行此操作,您需要具有多个textField的出口,然后此方法中的简单if语句将完成此任务.
@IBOutlet weak var textfield1: UITextField!
@IBOutlet weak var textfield2: UITextField!
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let newLength = textField.text.characters.count + string.characters.count - range.length
if textField == textField1 {
return newLength <= 10 // Bool
} else if textField == textField2 {
return newLength <= 15 // Bool
}
return true
}
Run Code Online (Sandbox Code Playgroud)
为了能够在代码中使用上述方法UIViewController,包含这些textFields的方法需要实现UITextFieldDelegate协议,然后将UITextField's delegate属性设置为UIViewController.
还有关于count方法.它已经多次更新.要计算字符串的字符数:
在Swift1.2之前- > countElements(string)
Swift1.2 - > count(string)
Swift2 - > string.characters.count
| 归档时间: |
|
| 查看次数: |
1548 次 |
| 最近记录: |