系统原生的是不存在这个问题的,因为是写好的,直接用就可以了。但是因为searchBar可扩展性太差,实际使用中,我们都需要重写searchbar来满足自己的需求,最近有朋友发现点击取消的时候,searchbar的背景色由浅灰色变深灰色,再到浅灰色,这是什么情况呢,经过查证,需要在改变布局的时候做如下设置:
[self.searchBar setShowsCancelButton:NO animated:YES];
因为取消的时候取消按钮就不存在了,在失去焦点的时候发生了这个现象,猜测是有焦点和无焦点的状态实际上是两个view,取消按钮控制有焦点的view,切换的时候没有隐藏这个view导致中间有一瞬间显示出来,而系统原生是做了这个处理的。