iOS 11中UISearchController的一些坑

iOS 11中新增了属性
self.navigationItem.searchController = self.searchController;
自带了系统搜索的效果特别好用,但是使用的过程中踩了不少坑。
会出现如图的情况,隐藏了之后又自动弹出来。

QQ20180111-105139.gif

1.self.navigationController.navigationBar.translucent = NO; 注释掉这一行
如果还不行
那就是约束的原因了,这个界面的tableview不能写在安全区域内.

      if (@available(iOS 11.0, *)) {
            make.edges.equalTo(self.view.mas_safeAreaLayoutGuide);
        }

2.点击UISearchController后 tableview往下偏移了

1533637002584.jpg

这是由于跟系统的self.edgesForExtendedLayout = UIRectEdgeNone;配合不当造成的,所以需要修改成默认值self.edgesForExtendedLayout = UIRectEdgeAll;以及self.definesPresentationContext = YES;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容