美文网首页
关于UISearchBar私有属性的使用

关于UISearchBar私有属性的使用

作者: 爱民谣的coderMrZhou | 来源:发表于2018-01-27 11:37 被阅读0次

        最近在项目中使用到UISearchBar,  遇到一些坑,发现用UISearchBar私有属性去做一些事情,可以让UISearchBar样式风格达到自己想到的效果。Talk is cheap, 废话不多说,直接上代码。 

     1.  seachBar创建出来默认是有灰色背景的, 可以用KVC获取UISearchBar的私有属性_background, 移除掉灰色背景就会消失

        UIView *searchBarBg = [_searchBar valueForKeyPath:@"_background"];

        [searchBarBg removeFromSuperview];

    2.  获取UISearchBar的文本框的两种方法:

    方法一: 还是KVC, 通过_searchField属性直接获取

    UITextField *searchTextField = [_searchBar valueForKeyPath:@"_searchField"];

        searchTextField.font = kFontSize(15.0);

        searchTextField.inputAccessoryView = [MTFKeyboardExtendsionView createView];

    方法二: 通过subViews 间接获取, 这个方法有弊端,使用之前必须设置_searchBar的barTintColor才有效

     _searchBar.barTintColor = kWhiteColor;

     UITextField *searchTextField = [[[_searchBar.subviews firstObject] subviews] lastObject];

    获取到textField之后就可以做很多事情了,比如font ,  inputAccessoryView等。

    本文只是简单的做个记录,有不足之处大家多多补充和指正。

    相关文章

      网友评论

          本文标题:关于UISearchBar私有属性的使用

          本文链接:https://www.haomeiwen.com/subject/rllnaxtx.html