UISearchBar问题小结

                    

最近项目中使用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,如图:



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

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

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,276评论 4 61
  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,112评论 3 38
  • 小时候的正月十五元宵节,是全民参与的节日。刚刚过完年,每到下午,村委会就会响起震耳欲聋的锣鼓声,这是在通知大家集合...
    悠然见茅屋阅读 896评论 13 4
  • 人之初,性本善,世界上有多少人是这样我不知道,至少我是这样,还本性难移。人情冷暖、世态炎凉经历得也不少了,可是当别...
    流年刘宁阅读 193评论 0 1
  • 乐府——羽月痕 桃红柳黛青丝长, 烛影清浅画寒窗。 飞燕不知落何处, 谁人窗前正梳妆。 凝眸蹙眉不思量, 素手捻得...
    羽月痕阅读 247评论 0 1