去除UISearchBar中的clearButton(输入内容时出现的删除按钮)

场景: 点击searchBar跳转到另一个界面搜索, 当前searchBar只负责显示

那这种情况下, [searchBar setText:@"test"]之后, 右边的clearButton就会默认出现. 我想让它消失, 不然后续交互就达不到目的.

百度, google, 都没拿到结果. 灵机一动, UITextField不是可以设置clearMode吗?! 那我只要拿到searchBar下的textField, 设置相应的clearMode.

经过测试, 果然可以.


代码如下:

for (UIView *view in customSearchBar.subviews) {
        if ([view isKindOfClass:NSClassFromString(@"UIView")] && view.subviews.count > 1) {
            if ( [[view.subviews objectAtIndex:1] isKindOfClass:[UITextField class]]) {
                UITextField *textField = (UITextField *)[view.subviews objectAtIndex:1];
                [textField setClearButtonMode:UITextFieldViewModeNever];    // 不需要出现clearButton
            }
            break;
        }
    }

OK, DONE!

展开阅读全文

没有更多推荐了,返回首页