导航栏遮住View

- edgesForExtendedLayout

用法:self.edgesForExtendedLayout = UIRectEdgeNone;

UIRectEdgeNone 刚好从导航栏下面开始

UIRectEdgeAll 全屏开始


- translucent

用法:self.navigationController.navigationBar.translucent = NO;

半透明,默认值是 YES

在设置translucent=YES的时候(默认就是YES,其实不写也一样),导航栏明显看得见下边的颜色

如果在UIRectEdgeAll的情况下 translucent=NO导航是白色

在UIRectEdgeAll的情况下 translucent=YES导航是window背景色半透明


- extendedLayoutIncludesOpaqueBars 默认值是NO

用法:self.extendedLayoutIncludesOpaqueBars = YES;

UIRectEdgeAll + translucent=NO + extendedLayoutIncludesOpaqueBars=YES 效果

- automaticallyAdjustsScrollViewInsets:

默认值YES,表示在全屏模式下会自动修改第一个添加到 rootView 的 scrollview 的 contentInset 为(64,0,0,0)

iOS11已废弃,用ScrollView子类方法self.tableView.contentInsetAdjustmentBehavior=UIScrollViewContentInsetAdjustmentNever;


安全区(safeArea)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网上关于导航栏遮盖问题的文章很多,但是我搜了好久没有看到图文说明的,看大神们的纯代码+理论很头疼,索性自己写一遍 ...
    丶丶夏天阅读 9,065评论 1 29
  • 最近项目里有个需求和导航栏的样式定制有关,深入之后发现之前理解的一些概念有些模糊,刚好趁着这次机会全面整理了一下。...
    Kevin追梦先生阅读 524评论 0 0
  • 先声明:以下总结只对ios7及ios7之后才有效~~~ 之前开发过程中偶尔会遇到设置导航栏透明与否或者运行系统版本...
    Qiu_W阅读 1,399评论 0 1
  • 明确一下以前一知半解的属性吧,文中所有的代码都默认写在UIViewController中,所以self特指控制器。...
    thinkq阅读 3,046评论 2 10
  • 最近项目里有个需求和导航栏的样式定制有关,深入之后发现之前理解的一些概念有些模糊,刚好趁着这次机会全面整理了一下。...
    hi_xgb阅读 5,120评论 4 39