满屏 状态栏影响20像素
来源:互联网 发布:看轻小说的软件 编辑:程序博客网 时间:2024/06/05 16:30
将状态栏隐藏掉之后,页面上的tableView会自动向上滚20个像素
这是因为在iOS7.0之后,系统会自动调整scrollView的layout 和 contentInsets 。从而使其自动地适应iOS7之后那种整个屏幕都可以放入自定义控件的方法。而我们大多数在开发过程中并不希望收到系统自动的影响而是完全掌握开发过程中的每一个细节。还有一个愿意是因为目前我们大多数的应用都是要向下适配到iOS6,而在6中并未提供这样的特性,所以在代码级别依然希望使用相对“保守”的代码。
所以解决这个问题的方法是讲系统的这些自动调整scrollView 的 contentInsest 的特性屏蔽掉。方法如下:
if ([[[UIDevice currentDevice] systemVersion]compare:@"7.0"]!=NSOrderedAscending) {
self.edgesForExtendedLayout = UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars = NO;
self.modalPresentationCapturesStatusBarAppearance = NO;
self.automaticallyAdjustsScrollViewInsets=NO;
}
else if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_9_x_Max) {
//10及以上的系统判断 需要另外判断
self.edgesForExtendedLayout = UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars = NO;
self.modalPresentationCapturesStatusBarAppearance = NO;
self.automaticallyAdjustsScrollViewInsets=NO;
}
或者直接这样写
if (NSFoundationVersionNumber>=NSFoundationVersionNumber_iOS_8_0) {
self.edgesForExtendedLayout = UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars = NO;
self.modalPresentationCapturesStatusBarAppearance = NO;
self.automaticallyAdjustsScrollViewInsets=NO;
}
其中edgesForExtendedLayout表示本viewController中的ScrollView使用哪些新特性中提供的contentInsets. 我们使用None.默认为All,也就是所有的方向都使用。
extendedLayoutIncludesOpaqueBars表示这种自适应的contentInsets是否包括statusBar的高度。这是一条比较关键的代码。我们的tableView之所以会向上滚动20像素就是因为当我们隐藏了statusBar之后scrollView认为没有了状态栏,那么它的contentInsets.top自动减小20px.
automaticallyAdjustsScrollViewInsets 表示在本viewController的view.subviews中的子view是否要受到系统的自动适配。比如在这里如果设为YES(默认也是),那么这个tableView.contentInsets.top就会为64.这里我们置为No,就不会又这个自动的调整了。
- 满屏 状态栏影响20像素
- IOS 当设置个人热点的时候,状态栏高度会由20像素变成40像素。
- VC,状态栏上对话框大小与实际像素关系
- 转载: VC,状态栏上对话框大小与实际像素关系
- android 获取不含状态栏的屏幕像素大小
- 传感器尺寸与像素密度对相片分辨率的影响
- 傲游的状态栏的广告影响js调试
- iOS 开启热点后对状态栏的影响
- Android4.4沉浸状态栏 键盘挤压布局受影响
- 关于设置应用的高度不受状态栏高度的影响
- 像素
- 像素。。。
- 像素
- 像素
- 像素
- 像素
- Android之获取屏幕的尺寸像素及获取状态栏标题栏高度
- Android之获取屏幕的尺寸像素及获取状态栏标题栏高度
- c#——数组
- java注解详解
- m3u8列表中媒体流格式必须是
- 复习题目
- 第九周项目四- 广义表算法库及应用(2)
- 满屏 状态栏影响20像素
- Fast RCNN详解
- AndroidStudio导入项目卡的解决办法
- 连接到近端的进程:linux中的计算器bc
- 【第十一周 项目1-验证算法(2)二叉树构造算法的验证】
- 《跟老男孩学linux运维》第五章复习要点总结
- 第11周项目1-(2)。1由先序序列和中序列构造二叉树
- AFNetworking 3.0设置参数编码方式
- 第十一周项目3线索化二叉树