IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题相关的知识,希望对你有一定的参考价值。

iOS开发中,使用UISearchBar的时候,当搜索框失去焦点的时候,取消按钮是默认不能点击的,如图按钮的颜色是灰色的: 
技术分享 
这是因为此时取消按钮的enabled属性被设置为NO了,那么当我们需要让取消按钮一直可以点击的时候,就需要我们自己来改变该属性的赋值,这里举例当点击search按钮的时候,回收键盘的同时让取消按钮的可以点击,在代理方法里面添加代码如下:

-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
    [searchBar resignFirstResponder]; //searchBar失去焦点
    UIButton *cancelBtn = [searchBar valueForKey:@"cancelButton"]; //首先取出cancelBtn
    cancelBtn.enabled = YES; //把enabled设置为yes
}

这样就可以了

以上是关于IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 UISearchBar 关闭键盘,而不让第一响应者辞职

IOS开发-OC学习-常用功能代码片段整理

视图加载时使 UISearchBar 成为第一响应者

UISearchBar 在尝试选择 UICollectionViewCell 时退出第一响应者

当 UISearchBar 成为横向的第一响应者时,模态视图移动

IOS 键盘协议之中的一个 <UITextFieldDelegate>