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

时间:2022-06-02 07:50:33

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
}

这样就可以了