0
ユーザーの姓と名字などのtextFieldを含む設定ビューがあります。私は、ユーザーが文字以外の何ものにも入力できないようにしたいと思っています。いくつかの研究の後、私はこれを達成するための最良の方法は、textFieldShouldReplaceCharactersInRangeデリゲートメソッドを使用することであることが判明しました。私が書いたコードは、文字で入力するだけのために働くようですが、バックスペースは許されません。私は方法のリンゴのドキュメントを読んだが、それを掴むのは苦労している。もしそれが偉大であり、許可されていないバックスペースが素晴らしいことを説明するよりnoobの友好的な方法で説明することができたので、私は本当に理解することができます。私のコードは以下の通りですtextFieldShouldReplaceCharactersInRangeを実装した後でバックスペースできません
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if textField == firstNameTextField {
let allowedCharacter = NSCharacterSet.letters
let replacementTextHasRightCharacters = string.rangeOfCharacter(from: allowedCharacter as CharacterSet)
if replacementTextHasRightCharacters == nil {
return false
} else {
return true
}
}
return true
}