一个限制一个长度的解决方案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 }
如何更新这个以多个工作TextField
,我想我必须说
textField = thisTextField.text...
hannad.. 5
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 }
为了能够在代码中使用上述方法UIViewController
,包含这些textFields的方法需要实现UITextFieldDelegate
协议,然后将UITextField
's delegate属性设置为UIViewController
.
还有关于count
方法.它已经多次更新.要计算字符串的字符数:
在Swift1.2之前- > countElements(string)
Swift1.2 - > count(string)
Swift2 - > string.characters.count
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 }
为了能够在代码中使用上述方法UIViewController
,包含这些textFields的方法需要实现UITextFieldDelegate
协议,然后将UITextField
's delegate属性设置为UIViewController
.
还有关于count
方法.它已经多次更新.要计算字符串的字符数:
在Swift1.2之前- > countElements(string)
Swift1.2 - > count(string)
Swift2 - > string.characters.count