UISearchBar的使用二: UISearchBar失去焦点,取消按钮无法响应

如图,当UISearchBar失去焦点的时候,取消按钮无法响应点击。只需要在失去焦点后,将取消按钮的enabled设置为YES即可。一般写在代理的searchBarSearchButtonClicked方法里。


截图1.png
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
    [searchBar resignFirstResponder];
    UIButton *cancelBtn = [searchBar valueForKey:@"cancelButton"]; 
    cancelBtn.enabled = YES; 
}

显然,有个问题,如何知道私有属性名的呢?这里请参考《利用runtime获取私有属性名及类型》
除了使用kvc,还可以遍历UISearchBar子控件,但是这里需要使用递归的方法遍历子控件,才能找到cancelBtn。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容