如何在uisearchbar中显示Xbutton(清除按钮)始终可见 [英] How to show Xbutton(clear button) always visible in uisearchbar

查看:90
本文介绍了如何在uisearchbar中显示Xbutton(清除按钮)始终可见的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序中,我正在添加 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆