UISearchBar 如何隐藏按钮

项目中使用到了UISearchBar了,但键盘上有了搜索按钮,那我如果想添加一个隐藏键盘的按钮怎么办呢,下面2个办法很神奇的哦!


- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{

    [self.searchBox setShowsCancelButton:YES animated:YES];//框的可侧会出现一个cancel按钮的
    
    return YES;
}

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{

    [_searchBox resignFirstResponder];


}



    [self.searchBox setShowsCancelButton:NO animated:YES];//框的隐藏掉cancel按钮的,当点击按钮的时候,就会触发- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar此方法了




怎么代码实现修改searchbar中CancelButton的title

因为Cancle按钮要在[controller.searchBarsetShowsCancelButton:YES];后才会在子视图中有,所以不能在searchDisplayControllerWillBeginSearch方法中改变Cancle按钮,只能在

searchDisplayControllerDidBeginSearch方法中加入UIButton *cancelButton;

    UIView *topView = controller.searchBar.subviews[0];

    for (UIView *subViewin topView.subviews) {

        if ([subViewisKindOfClass:NSClassFromString(@"UINavigationButton")]) {

            cancelButton = (UIButton*)subView;

            [cancelButton setTitle:@"取消"forState:UIControlStateNormal];

            [cancelButton addTarget:selfaction:@selector(cancelBtn)forControlEvents:UIControlEventTouchUpInside];

        }

    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值