键入总是(强制)小写或大写 - ios swift

时间:2015-08-13 13:01:53

标签: ios swift uitextfield

如何强制为 swift 语言中的某些文本字段输入小写或大写字母?

mixed lower and upper

2 个答案:

答案 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键来更改大小写。