UISearchBar 点击取消后跳动的问题

来源:互联网 发布:php ftp上传 curl 编辑:程序博客网 时间:2024/04/28 16:51

自己写太花时间了 哎。很长一段时间没写博客了。

问题详情

        首先是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


转自:skyming


=================================

在我这边 只要不用设置图片的方法 设置navigation的背景色 就不会出现这个问题了。



0 0