开发者社区 问答 正文

在UisearchBar中一直显示Xbutton

怎么让UISearchBar中的Xbutton(clear button)一直显示。

for (UIView* v in searchBar.subviews)
{
    if ( [v isKindOfClass: [UITextField class]] )
    {
        UITextField *tf = (UITextField *)v;
        tf.delegate = self;
        tf.clearButtonMode = UITextFieldViewModeAlways;
        break;
    }
}

我试过了没有用,如果我设置tf.clearButtonMode = UITextFieldViewModeNever,xbutton就不显示了。

应该怎么办?

我需要在文本长度等于0的状态一直显示Xbutton。

展开
收起
爵霸 2016-03-17 11:16:58 2079 分享 版权
1 条回答
写回答
取消 提交回答
  • 需要再创建一个自定义UIButton。

    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];
    2019-07-17 19:04:54
    赞同 展开评论
问答地址: