你应该return false在if block,因为你已经更新了文本框.
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if textField.isEqual(textFieldBodrum) {
textFieldBodrum.text = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string.lowercaseString)
return false
} else if textField.isEqual(textFieldYalikavak) {
textFieldYalikavak.text = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string.uppercaseString)
return false
}
return true
}
Run Code Online (Sandbox Code Playgroud)
如果你不想影响其他文本字段,你应该return true结束shouldChangeCharactersInRange function.
最简单的解决方案是将文本字段的autocapitalizationType属性设置.None为默认为小写输入或.AllCharacters默认为大写输入.用户仍然可以使用shift键来更改大小写.
| 归档时间: |
|
| 查看次数: |
7185 次 |
| 最近记录: |