UITextField 清除故障 - 文本突出显示,选择插入符号出现

Posted

技术标签:

【中文标题】UITextField 清除故障 - 文本突出显示,选择插入符号出现【英文标题】:UITextField clear glitch - text highlights, selection carets appear 【发布时间】:2015-01-19 15:45:21 【问题描述】:

当您点击清除按钮(小 X)时,我看到 UITextField 出现故障。在文本消失之前,选择插入符号出现(移动以选择文本的垂直线),然后文本突出显示,就像它被选中一样。这只会发生一瞬间——高亮和插入符号会闪烁,然后立即消失。事实上,文字确实很清晰——问题在于它是一个令人分心的视觉故障。

有人看过吗?

相关问题:当​​文本突出显示时,是否在某处发布了通知或调用了委托方法?我可以用它来检测闪光灯。但是,我似乎找不到任何东西......

【问题讨论】:

【参考方案1】:

我在 ios8 上也遇到过这个问题。我的班级正在观察UITextFieldTextDidChangeNotification。虽然我没有找到为什么会发生这种情况的解释,但我发现以下 UITextField 代表为我修复了它:

- (BOOL)textFieldShouldClear:(UITextField *)textField 
    textField.text = nil;
    return YES;

只需将“清除”上的文本字段文本置零 - 处理视觉故障。

【讨论】:

是的,我就是这么做的。 (实际上,我将它设置为 @"" 而不是 nil——不确定这是否会影响任何事情)。

以上是关于UITextField 清除故障 - 文本突出显示,选择插入符号出现的主要内容,如果未能解决你的问题,请参考以下文章

如何突出显示UITextField中的部分文本?

iOS:带有 SecureEntry 的 UITextField 有时会用“强密码”文本突出显示黄色,然后键盘卡住

Swift 如何在另一个 UITextField 突出显示或具有值时禁用 TextField

如何在 IOS 的 UIAlertView 中清除 UITextfield 文本和确定按钮?

UITextField在开始编辑时具有“清除”按钮大小

如何通过在焦点集中时将其移动到键盘顶部/视图中心来突出显示滚动视图中的焦点 UITextField