[问题] UISearchBar 点击取消后跳动的问题
问题详情:
首先是TableView 作为 NavigationController 的 RootViewContrller, 然后UISearchBar
添加到TableView 的 headView 上,同时 UISearchDisplayController 的 contentsController
为tableView, SearchBar 为tableView headview 上的 searhBar,然后点击后 searchBar 会平滑
移动到 NavgationBar 的位置,点击取消或蒙版的,searhBar 会跳动下再回到正确的位置。
解决办法:
在控制器的viewdidload: 中加入
[self setAutomaticallyAdjustsScrollViewInsets:YES];
[self setExtendedLayoutIncludesOpaqueBars:YES];
查找原因过程:
首先是看到 FontAwesome 的搜索没有问题然后就看其实现,没有改变UINavigationBar的默认颜色,
没有UINavigationItem,然后就将其全部注释,然后问题依然, 再 设置UINavigationBar 的 translucent 属性
为YES,接着打开 UINavigationBar 的背景色,然后问题又出现了,由于背景色要同时设置状态栏的颜色,所以设置代码为
[[UINavigationBar appearance]setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
同时不使用 图片的方式,通过遍历系统子控件设UINavigationBar 的设置背景色同样也会导致跳动,
问题就可能是系统SDK的问题了,猜测而已。。然后就各种关键词搜。。最后。。。
详情解释:
http://stackoverflow.com/questions/20565980/uisearchbar-in-uitableviewheader-strange-animation-on-ios-7