ScrollView向下偏移64以及automaticallyAdjustsScrollViewInsets的使用

最近又开始新项目的开发,在UI架构的时候又出现了这个问题:每个APP可以说都有NavigationController,在Nav之内的Controller上首个控件如果是UIScrollView则会出现向下偏移64的问题,今天不知道怎么就是没想起来这个钻到牛角尖了,搞了半天才突然发现解决方法。

原因

在iOS7之前是没有这个问题的,后来苹果更新出自动适配,在控制器里增加了一个新属性automaticallyAdjustsScrollViewInsets默认为YES,通过字面意思大家应该就发现了,开启ScrollView自动调整,就是如果是在nav下的ScrollView会自动向下偏移64,这样就造成了我的这个问题。

解决

第一种(推荐)

不让系统自动适配,我们自己来automaticallyAdjustsScrollViewInsets设置成NO。

第二种

nav.translucent   把原点下移64 和 ios6一样  (一般不用这个)

第三种

// 设置CGRectZero从导航栏下开始计算

    if ([selfrespondsToSelector:@selector(setEdgesForExtendedLayout:)]) {

        self.edgesForExtendedLayout =UIRectEdgeNone;

    }


你可能感兴趣的:(功能开发,iOS常识,控件的使用,常见错误)