尝试从安全的textField文本中删除字符时,委托方法无法正常工作

时间:2016-07-28 07:57:59

标签: ios swift

尝试从安全的textField文本中删除字符时遇到问题。

我想在textFieldShouldChangeCharactersInRange委托方法中捕获文本,但问题是对于安全的textFields存在问题。 当我点击安全的textField并从textField的文本中删除字符时,视觉上所有的textField文本都会消失(默认情况下这是安全文本字段)。

问题是textFiledShouldChangeCharactersInRange中返回的文本不是空文本,而是没有删除字符的文本。所以问题是视觉上文本字段中没有文本,但上面提到的委托方法返回的文本不是nil或空。

我想问一下是否有可能捕获正确的文字。

如果不清楚,请询问,我会回复。

非常感谢!

1 个答案:

答案 0 :(得分:0)

试试这个

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>

创建

我希望这有助于你