美文网首页iOS Developer
UISearchBar问题小结

UISearchBar问题小结

作者: 因猿际会 | 来源:发表于2017-05-17 20:22 被阅读93次

                        

    最近项目中使用UISearchBar,在处理过程中遇到以下问题,查找资料解决后,分享给大家,方便以后遇到同样的问题得以很好的解决

    1.项目中设计日夜间,所以需要给UISearchBar设置日夜间颜色,背景颜色都一样可以修改,主要是字体颜色,网上查到@"_searchField"该属性

      UITextField*searchField = [_searchbarvalueForKey:@"_searchField"];

      searchField.dk_textColorPicker=DKColorPickerWithRGB(0x000000,0x666666);

    通过改属性,获得UITextField,然后改变searchField.text的颜色值

    我遇到的问题是,我把UITextField*searchField = [_searchbarvalueForKey:@"_searchField"];写在[headview addSubview:_searchbar];后面,导致searchField=nil,所以如果你也需要UITextField属性,记得一定在UISearchBar添加在视图后

    2.UISearchBar的取消按钮

    这个问题比较诡异,但是网上有人给出了答案,由于我查的时候也是很久才找到,所以才想分享给大家

    在如图1的情况下,UISearchBar“取消”按钮非高亮状态,点击取消后进入编辑状态如图2,断点调试发现进入- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{ }方法,截图如下:


    UISearchBar添加背景色,会发现取消按钮也在UISearchBar上面,所以点击它会触发开始编辑响应

    ,进入编辑状态后,取消按钮高亮,再次点击取消进入- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{ }方法  

    网上给出的解决方案:

    1.是由于searchBar上有个手势,只要点击到searchbar就会触发手势使searchbar进入编辑模式,包括点击searchbar的边框,而取消按钮的大小距离searchbar的边框有八个像素的距离,因此手指点击的时候很容易会点击到searchbar边框上的像素,从而触发编辑事件,可以通过以下代码,去除该手势事件,就行了

    for (UIGestureRecognizer *tap in _searchBar.gestureRecognizers) {

    [_searchBar removeGestureRecognizer:tap];

    }

    我用的就是这个方法,问题得到了解决

    2.这是因为此时取消按钮的enabled属性被设置为NO了,如果想保持可以点击,需要在搜索框失去焦点的地方设置一下,例如在search按钮的代理方法里面这样写

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

    [searchBar resignFirstResponder]; //searchBar失去焦点

    UIButton *cancelBtn = [searchBar valueForKey:@"cancelButton"]; //首先取出cancelBtn

    cancelBtn.enabled = YES; //把enabled设置为yes

    }

    博客原文:http://blog.csdn.net/Yo_Yo_Yang/article/details/51395381(这貌似是解决其它问题的,我没有尝试)

    ########-----------------——#################

    本次还遇到了1.UITableView的cell长按拖拽换位置,指定cell不能拖拽也不能被换    2.自定义UIPageControl任意一个圆圈用指定的图代替,切不会随着UIScrollView移动切换这个指定的图片,类似天气定位中的UIPageControl,如图:

    希望对大家有帮助,至于后面的两个问题,后续分享具体代码,希望大家喜欢我的分享😍

    相关文章

      网友评论

        本文标题:UISearchBar问题小结

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