我在尝试从 protected 文本字段文本中删除字符时遇到问题。
我想捕获 textFieldShouldChangeCharactersInRange
委托(delegate)方法中的文本,但问题是对于安全的文本字段存在问题。
当我点击安全文本字段并从文本字段的文本中删除字符时,所有文本字段文本在视觉上都会消失(默认情况下,这是安全文本字段的情况)。
问题在于,textFiledShouldChangeCharactersInRange
中返回的文本不是空文本,而是没有删除字符的文本。所以问题是,从视觉上看,文本字段中没有留下任何文本,但上面提到的委托(delegate)方法返回的文本不是 nil,也不是空。
我想问是否有可能捕获正确的文本。
如果有不清楚的地方请询问,我会回复。
非常感谢!
最佳答案
试试这个
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool
{
if let swRange = textField.text!.rangeFromNSRange(range)
{
let newString = textField.text!.stringByReplacingCharactersInRange(swRange,withString:string) //...
print(newString)
}
return true
}
方法rangeFromNSRange(range)
可以在这里找到NSRange to Range<String.Index>
希望对你有帮助
关于ios - 尝试从安全文本字段文本中删除字符时,委托(delegate)方法无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38630345/