始终(强制)输入小写或大写 - ios swift
Typing always (force) lowercase or uppercase - ios swift
如何强制在 swift 语言的某些文本字段中始终输入小写或大写?
您应该在 if block
中 return false
因为您已经更新了 文本字段 。
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
。
https://gist.github.com/fatihyildizhan/ac5f476aebd306b0580a1fa069f153a3
最简单的解决方案是将文本字段的 autocapitalizationType
属性 设置为 .None
默认为小写输入或 .AllCharacters
默认为大写输入。不过,用户仍然可以使用 shift 键更改大小写。
如何强制在 swift 语言的某些文本字段中始终输入小写或大写?
您应该在 if block
中 return false
因为您已经更新了 文本字段 。
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
。
https://gist.github.com/fatihyildizhan/ac5f476aebd306b0580a1fa069f153a3
最简单的解决方案是将文本字段的 autocapitalizationType
属性 设置为 .None
默认为小写输入或 .AllCharacters
默认为大写输入。不过,用户仍然可以使用 shift 键更改大小写。