美文网首页
iOSsearchBar在多页面中点击消失

iOSsearchBar在多页面中点击消失

作者: 布枝盗 | 来源:发表于2017-12-20 16:58 被阅读10次

    在使用UISearchController时,点击searchbar以后searchbar出现偏移.

    searchbar向上偏移
    目前网上的大多数方法都是在控制器中加入这么一行代码
     self.definesPresentationContext = YES;
    

    苹果对其的介绍是

    苹果对其使用介绍是:Determines which parent view controller's view should be presented over for presentations of type UIModalPresentationCurrentContext. If no ancestor view controller has this flag set, then the presenter will be the root view controller.

    即:这一属性决定了那个父控制器的View,将会以优先于UIModalPresentationCurrentContext这种呈现方式来展现自己的View。如果没有父控制器设置这一属性,那么展示的控制器将会是根视图控制器。

    但是,在多页面的情况下,如果写下这句代码,系统可能就会因为无法确定哪个view为开发者需要展示view而发生出乎意料的结果.

    本该在黑色view上的searchbar偏移到了箭头所指的地方

    这样的结果就是,searchbar成为第一响应整个消失了.

    最终在尝试了几种不同的搭配后发现,只要在控制器中添加

        _svc.hidesNavigationBarDuringPresentation = NO;
    

    这么一句代码就能很好的解决问题,剩下的就是调整展示控制器的frame了.

    相关文章

      网友评论

          本文标题:iOSsearchBar在多页面中点击消失

          本文链接:https://www.haomeiwen.com/subject/rlagwxtx.html