iOSsearchBar在多页面中点击消失

在使用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了.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。