注册 登录
主题 : ios8 scrollView 偏移了64个点.怎么解决呢
级别: 新手上路
状态: 未签到 - [2天]
UID: 267507
精华: 0
发帖: 29
可可豆: 183 CB
威望: 202 点
在线时间: 503(时)
注册时间: 2013-10-23
最后登录: 2017-03-10
楼主 : 发表于: 2014-11-18 17:22    发自: Web Page

ios8 scrollView 偏移了64个点.怎么解决呢   

ios8的UIScrollview 向下偏移了64个点,这个需要怎么处理呢?难道要每个VC都检查一遍做处理吗?


级别: 侠客
状态: 未签到 - [4天]
UID: 372142
精华: 0
发帖: 123
可可豆: 521 CB
威望: 520 点
在线时间: 312(时)
注册时间: 2014-09-10
最后登录: 2017-06-20
沙发 : 发表于: 2014-11-18 18:12    发自: Web Page

uinabigationController(44)+顶部时间显示(20)=64;


这个会占据你的屏幕,实际上整个屏幕只会显示(如果是ip4s 320*480)那么,你整个实际显示的只有480-64,如果你加上了uitabbarcontroller(49),那么实际上能显示的只有480-64-49的大小,所以你设置你的scrollview应该是cgframemake(0,0,self.view.frame.size.width,self.view.frame.size.height-(所需要减去的);注意,如果你的navigationcontroller的translucent是yes的话,那么你要+64;


你这个程序,你可以在你的主程序上面改一点就可以看到全部屏幕;


加一条这样的语句


self.nabigationcontroller.navigationbar.translucent = yes;


或者把你的scrollview改称我提供给你的高度一样;


级别: 新手上路
状态: 未签到 - [2天]
UID: 267507
精华: 0
发帖: 29
可可豆: 183 CB
威望: 202 点
在线时间: 503(时)
注册时间: 2013-10-23
最后登录: 2017-03-10
板凳 : 发表于: 2014-11-18 18:27    发自: Web Page
我ios7下是正常的,我也创建了一个Demo试了一下,代码创建了一个UILable,y轴为64的时候,ios7的时候UILabel是紧贴navigationbar的,ios8的时候UILabel距离navigationbar是64个点,估计就是ios8下代码创建UIScrollView, ScrollView的subviews的y轴都是64的位置
级别: 侠客
状态: 未签到 - [4天]
UID: 372142
精华: 0
发帖: 123
可可豆: 521 CB
威望: 520 点
在线时间: 312(时)
注册时间: 2014-09-10
最后登录: 2017-06-20
3 楼:  发表于: 2014-11-18 18:55    发自: Web Page
iOS8的navigation默认是不是透明的?你自己直接写出来设置应该不会有问题
级别: 新手上路
UID: 5841
精华: 0
发帖: 2
可可豆: 21 CB
威望: 21 点
在线时间: 20(时)
注册时间: 2009-05-19
最后登录: 2017-05-11
4 楼:  发表于: 2014-11-19 12:00    发自: Web Page
在所有的 viewController 里都加上
这样所有设备下都是固定 64的位置开始。

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    // 设置CGRectZero从导航栏下开始计算
    if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) {
        self.edgesForExtendedLayout = UIRectEdgeNone;
    }
}
级别: 新手上路
UID: 293379
精华: 0
发帖: 1
可可豆: 11 CB
威望: 1 点
在线时间: 50(时)
注册时间: 2014-02-19
最后登录: 2015-08-10
5 楼:  发表于: 2014-12-22 20:01    发自: Web Page
回 4楼(changhong_bo) 的帖子
太感谢了,困扰了一阵
级别: 新手上路
状态: 未签到 - [18天]
UID: 367839
精华: 0
发帖: 48
可可豆: 140 CB
威望: 101 点
在线时间: 12(时)
注册时间: 2014-08-29
最后登录: 2015-02-12
6 楼:  发表于: 2014-12-22 22:19    发自: Web Page
这个问题iOS7就出现了,只要scrollView是其父视图上的第一个子视图,且navigationBar不隐藏的情况下,添加到scrollView里的视图,都会默认下移64个像素。去年我遇到过这样的问题

级别: 新手上路

状态: 未签到 - [62天]
UID: 354422
精华: 0
发帖: 17
可可豆: 406 CB
威望: 270 点
在线时间: 176(时)
注册时间: 2014-08-02
最后登录: 2017-06-21
7 楼:  发表于: 2014-12-23 09:36    发自: Web Page
nav的第一个子视图是scrollview的时候   系统才自动给scrollview加上64的inset
这偏移与第三方的下拉刷新冲突

解决冲突 禁止系统偏移  vc.automaticallyadjustsScrollviewInsets =NO

nav.translucent   把原点下移64 和 ios6一样  (一般不用这个)
级别: 新手上路
状态: 未签到 - [1天]
UID: 430386
精华: 0
发帖: 1
可可豆: 5 CB
威望: 5 点
在线时间: 15(时)
注册时间: 2015-01-17
最后登录: 2015-10-12
8 楼:  发表于: 2015-04-03 16:02    发自: Web Page
谢谢,看了,受益匪浅

级别: 新手上路
UID: 436144
精华: 0
发帖: 10
可可豆: 38 CB
威望: 10 点
在线时间: 52(时)
注册时间: 2015-01-31
最后登录: 2016-06-14
9 楼:  发表于: 2015-07-22 16:54    发自: Web Page
嗯,学习了,我之前遇到过,是在scrollView上加一个高度为0.1f的view来让scrollView成为第二个view

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

验证问题:
苹果公司现任CEO是谁?2字 正确答案:库克

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部