2
使用解決方案更新了代碼。shouldChangeCharactersInRange多個文本字段被凍結
這適用於你想要的許多領域。
它還修復了當方法返回false時textfield凍結問題。
行波紋管指示返回false後返回true的方法。
newString = currentString.stringByReplacingCharactersInRange(range, withString: string)
在視圖沒有負載(這將標識符添加到每個字段中,以便可以什麼領域正在被使用的方法中鑑定 - 它是一個Int())
emailAddressField.tag = 1
userPasswordField.tag = 2
在委託方法
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
var maxLength = Int()
var newString = NSString()
var currentString = NSString()
println("MY TAG \(textField.tag)")
switch textField.tag {
case 1:
println("CASE 1 \(range)")
maxLength = 16
currentString = emailAddressField.text
newString = currentString.stringByReplacingCharactersInRange(range, withString: string)
case 2:
println("CASE 2 \(range)")
maxLength = 8
currentString = userPasswordField.text
newString = currentString.stringByReplacingCharactersInRange(range, withString: string)
default:
println("Didn't detect any field")
}
return newString.length <= maxLength
}
Thanks dude。這工作來標記字段。我仍然有凍結的問題。用我找到的所有解決方案更新了我的問題。現在它工作正常。希望它能幫助別人。我認爲標記之後也會更容易實現字符類型驗證。所以,謝謝你。 – GuiSoySauce
@GuiSoySauce很好!我相應地更新了我的答案。 – hennes