将 UITextfield“清除”默认按钮连接到 UILabel

Posted

技术标签:

【中文标题】将 UITextfield“清除”默认按钮连接到 UILabel【英文标题】:Connecting the UITextfield "clear" default button to a UILabel 【发布时间】:2013-06-25 01:57:46 【问题描述】:

这里是新手开发者。对不起,这可能是一个愚蠢的问题,但是有没有办法将可以为 UITextfield 对象启用的圆形“x”按钮连接到 UILabel 对象,这样当用户按下文本字段中的“清除”按钮时,标签也清除了?

我正在使用只有一个视图控制器的单视图应用程序。

谢谢

【问题讨论】:

【参考方案1】:

只要按下 UITextField 的清除按钮,就会调用 UITextFieldDelegate 方法 textFieldShouldClear:。在该方法中,您可以执行任何您喜欢的代码,例如更改 UILabel 的 text

【讨论】:

【参考方案2】:

John Sauer 的回答很好

但是如果你想改变标签,即使用户删除了没有使用清除按钮的文本

你应该使用

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string


    NSString *newString = [textField.text stringByReplacingCharactersInRange:range
                                                                  withString:string];

    if ( newString.length == 0 )
    
        //update label
    


    return YES;

【讨论】:

以上是关于将 UITextfield“清除”默认按钮连接到 UILabel的主要内容,如果未能解决你的问题,请参考以下文章

自定义 UITextField 清除按钮

将“清除”按钮添加到 iPhone UITextField

布局 UITextField 无论清除按钮 X

UITextField 清除按钮调用 didEndEditing 两次

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

尝试移动我的自定义 UITextField 清除按钮,但它不会正确调整大小或移动