0
我有一個設置視圖,其中包含一些textFields,如用戶的名字和姓氏。我想確保用戶不能輸入除字母之外的其他任何內容。經過一番研究,我發現實現這一點的最佳方法是使用textFieldShouldReplaceCharactersInRange委託方法。代碼我似乎工作只允許他們輸入字母,但它不會讓我退格。我已經閱讀了該方法的蘋果文檔,但我很難把握它。如果可以用更加愉快的友好方式來解釋這一點,那將是非常好的,並解釋爲什麼退出不被允許會很好,所以我可以真正理解。我的代碼如下不能退格後執行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
}