UICollectionView item无法覆盖状态栏

今天调试一个问题时,发现uicollectionview的item无法置顶,每次显示的时候都和上边缘有一个间距。查看了collectionFlowLayout的配置,item的间距和行距都设置了0.而且collectionview的上边缘设置的和superview的top间距是0.但是不管怎么调,还是有问题,断点调试,发现item的item.frame.origin.y = -10.觉得很奇怪,通过constraint来设置这些值,还是不起效果。怀疑是不是collectionview跟statusbar有冲突,初始化时加入代码

collectionview.contentInset=UIEdgeInsetsMake(-20, 0, 0, 0);//上移20,状态栏的高度

问题就解决了。item能贴着手机上边缘显示。
具体原因是iOS11版本的兼容性导致的。
iOS 11需要做兼容性处理,具体的一些细节参考
http://www.jianshu.com/p/370d82ba3939

另外需要注意的是:如果你用的是storyboard,vc的语言选择的是iphone8或者iphoneX,即使调试使用的的手机是10.x的系统版本,也必须对11.x做适配
storyboard采用iphone8添加视图,苹果应该是默认你使用在11.x的系统版本上

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

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,646评论 4 61
  • 说起立夏一定会有很多人想到二十四节气里的立夏把,我也有同感。刚看到这部电影的名字的时候,不知道是什么声音在心里催促...
    Dorae鱼阅读 4,243评论 1 0
  • 早上提前来到公司,花上半个小时到一个半小时时间,看到林奇第九原则:并非所有的普通股都一样普通。实话讲我是真看不出来...
    笑傲江湖201710阅读 1,567评论 1 0

友情链接更多精彩内容