如何在uisearchbar中显示Xbutton(清除按钮)始终可见 [英] How to show Xbutton(clear button) always visible in uisearchbar
问题描述
在我的应用程序中,我正在添加 UISearchBar 。
In my application, I am adding a UISearchBar.
我的意图是启用UISearch栏X按钮( UITextField )始终可见。
My intent is to enable the UISearch Bar "X button"(clear button in UITextField) to be always visible.
我尝试使用下面的代码尝试使X按钮始终可见。但是,它不起作用。如果我设置 tf.clearButtonMode = UITextFieldViewModeNever
,则 uitextfield 没有显示。我不确定有什么问题?
I have tried using the following code below to try to make the "X Button" be always visible. However, it does not work. If I set tf.clearButtonMode = UITextFieldViewModeNever
, the clear button in uitextfield not showing. I am not sure what is wrong?
我真的很感激任何人的帮助。为什么这不起作用?
I would really appreciate anyone's help here. Why is this not working?
for (UIView* v in searchBar.subviews)
{
if ( [v isKindOfClass: [UITextField class]] )
{
UITextField *tf = (UITextField *)v;
tf.delegate = self;
tf.clearButtonMode = UITextFieldViewModeAlways;
break;
}
}
目标:
如果文本长度等于0,我想总是显示清除按钮
Goal:
I want to always show the clear button if the text length is equal to 0
- ie如果我没有输入任何文字。
推荐答案
你需要创建一个自定义UIButton清除按钮
You have to need create a Custom UIButton for clear button
UIButton *clearButton = [UIButton buttonWithType:UIButtonTypeCustom];
[clearButton setImage:img forState:UIControlStateNormal];
[clearButton setFrame:frame];
[clearButton addTarget:self action:@selector(clearTextField:) forControlEvents:UIControlEventTouchUpInside];
textField.rightViewMode = UITextFieldViewModeAlways; //can be changed to UITextFieldViewModeNever, UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing
[textField setRightView:clearButton];
这篇关于如何在uisearchbar中显示Xbutton(清除按钮)始终可见的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!