self.automaticallyAdjustsScrollViewInsets = NO;
此属性默认为YES,UIViewController下如果只有一个UIScollView或者其子类,那么会自动留出空白,让scollview滚动不会被各种bar盖住。但是每个UIViewController只能有唯一一个UIScollView或者其子类,如果超过一个,需要将此属性设置为NO,自己去控制留白以及坐标问题。
我将scrollView的坐标避开各种bar,就会看到automaticallyAdjustsScrollViewInsets属性的效果
通过如上两张图片已经很能说明automaticallyAdjustsScrollViewInsets = YES时的效果了
如果将scrollView的frame设置和屏幕大小相同,就不会出现我模拟的问题
解决如上留白效果:
- 将scrollView的frame设置与主屏幕frame相同
- 将self.automaticallyAdjustsScrollViewInsets = YES;
关键代码
1.代码如下1234 UIScrollView *scrollHomeView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)];
2.代码如下12self.edgesForExtendedLayout = UIRectEdgeNone;self.automaticallyAdjustsScrollViewInsets = YES ; // 其中的self是控制器