UIScrollView加在UINavigationController上后产生偏移的解决办法

最近写一个demo打算用一个scrollview(背景是蓝色)实现无线轮播的功能,然后放UINavigationController的viewDidload方法上addSubview到UINavigationController的View上。效果如下

Paste_Image.png

会发现scrollview上的imageView的contentOffet好像向下位移,打印imageView的坐标Y值都是0没有问题。仔细看看蓝色的区域高度刚刚好和navigationbar的高度一样。
后来发现问题是:

iOS7之后,当UIViewController成为UINavigationController的控制视图,UIViewController的控制视图上的第一个子视图是UIScrollView,UIScrollView会往下偏移64px的位置,64px是UINavigationBar的44px高度加上状态条20px的高度。

解决办法:
设置UINavigationController的automaticallyAdjustsScrollViewInsets属性

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

推荐阅读更多精彩内容

  • 夜又深了,我的脸上正敷著面膜所以还不能睡!(当然照例床上那人又再打呼了...)于是我的码字时间又到了!又可以来跟大...
    庄13台妹PKGIRL阅读 11,784评论 108 192
  • 今天是女儿开学第二天,开学前一天晚上和女儿谈了很久,女儿一直不停的在讲她的朋友、同学,我一直做一个合格的倾听者,...
    张茹_阅读 1,261评论 3 7
  • 之前去了两次北陵公园,都是草草的游,这次花了一天的时间好好的全转了一圈,发现真是太大了,不愧为被评为4A级景点,沈...
    小贤_37bf阅读 2,454评论 0 0