答案 0 :(得分:8)
您应该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
}
如果您不想影响其他文本字段,则应return true
结束shouldChangeCharactersInRange function
。
答案 1 :(得分:7)
最简单的解决方案是将文本字段的autocapitalizationType
属性设置为.None
以默认为小写输入,或将.AllCharacters
设置为默认为大写输入。用户仍然可以使用shift键来更改大小写。