导航栏显示问题

edgesForExtendedLayout

edgesForExtendedLayout是UIViewController的一个属性, 表示控制器延伸的边界。是枚举类型,默认情况下是all。 苹果建议在iOS11以后,尽量使用safeArea进行布局,在iOS10以及之前可以使用edgesForExtendedLayout来设定控制器布局的边界。默认情况下时all,也就是布局边界就是屏幕的边界, 但是有时候想让控制器的空间不被导航栏给盖住, 可以设置为[.left,.right,.bottom]。

isTranslucent 属性

  • isTranslucent是UINavigationBar的属性, 表示是否半透明,默认情况下 isTranslucent = true 是半透明的 , 这个时候如果控制器的布局延伸到边界的话,能够隐约看到下面的内容,不好看
  • 当把导航栏isTranslucent设置为false 的时候 并且控制器的导航栏没有隐藏的时候 无论控制器的edgesForExtendedLayout设置为什么 都会变成[.left,.right,.bottom]。 如果控制器的导航栏隐藏了 就遵从控制器的edgesForExtendedLayout设置

你可能感兴趣的:(导航栏显示问题)