绝大多数iOS开发者都应该知道当你在做搜索框功能的时候,系统UISearchBar可以简单的搞定。但是不知道你有没有注意,人家的常规位置是这样的:
你可能会说,咦,这很好啊,人家淘宝天猫什么大型APP不都这么设计的嘛,挺好的。可是,你妹,你以为天底下的UI设计师都那么好说话?人家为了显示自己的设计能力,就要与众不同,不仅点击输入要在左边,我就要你一开始就显示在左边,这样好看,关键是搜索图标还特别大,比系统的大……
这时候,好多程序猿开始不信了,就这点小东西,简单,轻而易举,自定义,小意思……
但是你造吗?你自定义也就意味着你要重新写一个人家苹果超级工程师已经写好的UISearchBar,还是那句话,不仅增加了代码冗余,还增加了维护难度。
接下来,我告诉你怎么做,怎么打让UI设计妹子投来亮亮的目光。
1. 创建一个继承于UISearchBar的类,比如CRSearchBar。重写UISearchBar初始化方法- (id)init和构建views的方法- (void)layoutSubviews。记得调用super的方法。
2. 主要思路是获取UISearchBar的自带的textField,然后修改其leftView和文本属性。
3. 可通过设置searchBar.backgroundImage = [CRImageTool imageWithColor:[UIColor whiteColor] size:self.searchBar.bounds.size]; 来设置searchBar的背景。
这样,不管有没有在输入,搜索标和文本都在左边了。其实我的思路是遇到一些非基础功能模块的时候,不要立马百度搜怎么做,更不要还没自己解决的情况下就去cocoachina、code4app的找相似组件直接用,我不推荐这种方法,就算搜索也不要老是用百度吧亲,多用谷歌吧,因为俺们是专业的程序猿啊T_T,哈哈。接下来,我会更多的告诉你,怎么巧妙运用系统的东西。
代码GitHub地址:CRSearchBar,我就问:喜欢的能不能点个赞以表支持?