UIScrollView的contentInsetAdjustmentBehavior属性

typedef NS_ENUM(NSInteger, UIScrollViewContentInsetAdjustmentBehavior) {UIScrollViewContentInsetAdjustmentAutomatic, // Similar to .scrollableAxes, but for backward compatibility will also adjust the top & bottom contentInset when the scroll view is owned by a view controller with automaticallyAdjustsScrollViewInsets = YES inside a navigation controller, regardless of whether the scroll view is scrollableUIScrollViewContentInsetAdjustmentScrollableAxes, // Edges for scrollable axes are adjusted (i.e., contentSize.width/height > frame.size.width/height or alwaysBounceHorizontal/Vertical = YES)UIScrollViewContentInsetAdjustmentNever, // contentInset is not adjustedUIScrollViewContentInsetAdjustmentAlways, // contentInset is always adjusted by the scroll view's safeAreaInsets
} API_AVAILABLE(ios(11.0),tvos(11.0));

UIScrollViewContentInsetAdjustmentAutomatic (类似于UIScrollViewContentInsetAdjustmentScrollableAxes,scrollView会自动计算和适应顶部和底部的内边距,并且在scrollView不可滚动时,也会设置内边距)
UIScrollViewContentInsetAdjustmentScrollableAxes (自动计算内边距)
UIScrollViewContentInsetAdjustmentNever (不计算内边距)
UIScrollViewContentInsetAdjustmentAlways (根据safeAreaInsets计算内边距)

为了适配iOS11,我们需要把这个属性禁用调,使用UIScrollViewContentInsetAdjustmentNever不计算内边距,不然系统会帮我们自动计算内边距,这样在滚动之后无法定位,会出现额外的内边距偏差。
简化处理:之前项目内有大量的UIScrollView,UITableView和UICollectionVIew中单独处理iOS11的适配,导致大量的重复代码,其实没必要每次初始化的时候去单独处理这个属性,这几个控件都是遵循appearance,我们可以进行全局统一设置来简化代码。

- (void)adapterIOS11{// 适配iOS11以上UITableview 、UICollectionView、UIScrollview 列表/页面偏移if (@available(iOS 11.0, *)){[[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];}
}

iOS11适配全局设置相关推荐

  1. ios11适配 以及会有的坑

    1.iPhone X尺寸问题 分辨率1125*2436  (375*812) 导航栏为 44+44  原来为20+44 底部tabbar  49+34  其余屏幕 49+0 2.打印线程问题 Main ...

  2. iOS11 适配遇到的坑

    iOS11正式版马上就要发布了,是时候适配一波了.下面就来说说我适配过程中遇到的坑吧. UITableView:默认开启Self-Sizing 首先要知道Self-Sizing是个什么东东.看官方文档 ...

  3. iOS11适配 以及会遇到的坑

    1.iPhone X尺寸问题 分辨率1125*2436  (375*812) 导航栏为 44+44  原来为20+44 底部tabbar  49+34  其余屏幕 49+0 2.打印线程问题 Main ...

  4. iOS11适配tableView顶部空白

    如果你使用了MJRefresh进行刷新,并且你隐藏了导航栏,就会出现下拉刷新错乱的问题. 因为iOS 11上废除了automaticallyAdjustsScrollViewInsets这个方法,使用 ...

  5. iphone x php兼容吗,有关iOS11和iPhoneX的适配问题

    一:iOS11 问题 有关iOS11 ,最大的变化就是增加了一个安全区域(safeArea)的概念,iOS11 适配的大部分问题都是由于它引起的. 如果还不太了解概念,推荐阅读 iOS 11 安全区域 ...

  6. 适配iOS11以及 iPhone X 之 网利宝App

    Xcode 9 GM 已经可以下载了 作为 iOS 开发 岂能不抓紧适配iOS11 以及有齐刘海的 iPhone X 来保住饭碗呢 哈哈哈哈 文章目录 适配 iOS 11 MJRefreshHeade ...

  7. iOS11解决导航栏影藏返回文字的方法

    iOS11适配 : iOS适配工作 需求 如果要只保留返回按钮的文字,不需要"返回"文字 iOS11之前 在全局函数执行的地方使用一下代码: let barButton = UIB ...

  8. iphoneX布局适配及iOS 11.0系统适配

    一,想必大多开发者将自己的项目跑到iPhoneX模拟器上后,会出现各种异常,包括界面布局的变化,根据自己遇到的情况主要说下面两点大家肯定需要修改的: (1),启动页不是全屏的,(如图) 解决办法: 如 ...

  9. iOS11以及iPhone X遇到的相关问题

    还没有开始适配之前,就已经听身边的程序猿伙伴在为iPhone X的刘海和HomeBar的存在而纷纷吐槽了.说的我都有些怕怕,胆子小,哈哈哈.下面针对在整理过程中发现的适配注意点进行简单总结. 一.iO ...

最新文章

  1. 谷歌开发者大会杀出技术黑马,知乎AI终于不再隐藏实力了
  2. 瑞士电信vCPE商用落地 华三通信NFV方案成最大功臣
  3. 龙果充值平台,具备话费充值、流量充值、话费卡兑换功能;可以拓展其他充值兑换业务;也适用于支付、鉴权等业务功能的拓展。
  4. android 应用切换滑动,Android应用中利用ViewPager实现多页面滑动切换效果示例
  5. 分布式存储系统设计 - Gossip
  6. zookeeper-大数据Week6-DAY1-1-Zookeeper
  7. qt 进度栏_HTML5进度栏
  8. 数据库防火墙数据库加密与脱敏数据泄露防护
  9. Windows10重装系统教程(超详细)
  10. Navicat常用快捷键汇总
  11. 百度推广系列之广告词编写必杀技
  12. 百脑汇 Ghost_XP_SP3 电子城国庆版 2012.10
  13. 我的linux学习笔记
  14. 跟我一起学习Windows Store的开发(1):如何创建WindowsStore的应用程序
  15. 指向数组的指针与指向数组首元素的指针
  16. Aegisub设置字体透明度
  17. 战地一服务器性能低怎么办,《战地1》帧数优化图文攻略 战地1帧数低怎么办?...
  18. 记账工具分享,教你如何连续添加新收支
  19. 从14次“一轮游”到问鼎大满贯 “灰姑娘”张帅这样逆袭
  20. 《云计算》教材试读:弹性计算云EC2

热门文章

  1. 什么是PYTHONPATH,导包导模块究竟要怎么用才合理
  2. html一些基础标签
  3. @JsonFormat日期转化注解
  4. 魅族16支持html吗,魅族16X手机配置正式公布:骁龙710,支持屏幕指纹
  5. 剖析《最后生还者 第二部》叙事系统的成就与败笔(下)
  6. Linux基础 常见命令 思维导图总结
  7. 百度熊掌号怎么申请原创保护(熊掌号公开课)
  8. 300-700题红题第二题
  9. js处理字符串、数组的方法
  10. X10服务器主板装系统黑屏,win10黑屏怎么完成系统重装