iOS 11.0以上以下系统适配

一. 以UITableViewController为例
iOS 11.0 以下
self.automaticallyAdjustsScrollViewInsets = NO;
iOS 11.0 以上
if ([self.tableView respondsToSelector:@selector(contentInsetAdjustmentBehavior)]) {
        
  self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
二. 导航控制器UINavigationController

导航条上的子控件布局发生了变化

iOS 11.0 以下
导航条左/右边的按钮 直接添加在 UINavigationBar 上
UINavigationBar -> 自定义左/右边的视图

导航条的标题栏 添加在 UINavigationItemView 上
UINavigationBar -> UINavigationItemView -> 标题栏
iOS 11.0 以上
导航条自定义左/右边的视图层级顺序
UINavigationBar -> UINavigationBarContentView -> UIButtonBarStackView -> UITAMICAdaptorView -> UIView -> 自定义左/右边的视图

导航条的标题栏 添加在 UINavigationBarContentView 上
UINavigationBar -> UINavigationBarContentView -> 标题栏
三. UINavigationBar 使用变化
iOS 11.0 以下
点击Bar上的按钮, 触发delegate执行
{navigationBar:shouldPushItem:, navigationBar:didPushItem:}
后, 点击返回按钮, 无法再触发delegate执行
{navigationBar: shouldPopItem:, navigationBar:didPopItem:}
同时视图也不会再回到之前
iOS 11.0 以上
点击Bar上的按钮, 触发delegate执行
{navigationBar:shouldPushItem:, navigationBar:didPushItem:}
后, 点击返回按钮, 可以正常触发delegate执行
{navigationBar: shouldPopItem:, navigationBar:didPopItem:}
同时视图会回到之前
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,242评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,229评论 4 61
  • 选择镜像 选择docker images(在hub.docker.com 搜索 elk 选择 start或pull...
    哈哈098833阅读 6,089评论 2 6
  • 我今天很开心,因为今天是奶奶的生日。我和爷爷回到家看到了表叔也在奶奶家,我弟弟拉着我去看奶奶的生日蛋糕,他还用手指...
    豪达兄弟阅读 157评论 0 0
  • 风年尽,烛灯残, 华发继落,珠泪连连。 难再寐,攻心绝, 胡生累梦,爱恨决绝。 心叵测,肝胆换, 曲终人散,初心颤...
    ericasmile99阅读 283评论 0 1