「iOS」 7 8 9 10 view被导航条遮挡的解决方法

添加了一个导航条之后,view被导航条给[覆盖了,并没有从导航条的下面开始。在iOS7中,UIViewController引入了一个新的属性:edgesForExtendedLayout。 这个属性的默认值是UIRectEdgeAll。当你的容器是UINavigationController的时候,默认的布局就是从状态栏的顶部开始的。这就是为什么你设置的控件都往上漂移的原因。

有两种方法解决这个问题:

1、设置edgesForExtendedLayout

self.edgesForExtendedLayout =UIRectEdgeNone;//view不需要拓展到整个屏幕

2、设置导航条的透明度

self.navigationController.navigationBar.translucent= NO;

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

推荐阅读更多精彩内容

  • 先声明:以下总结只对ios7及ios7之后才有效~~~ 之前开发过程中偶尔会遇到设置导航栏透明与否或者运行系统版本...
    Qiu_W阅读 1,404评论 0 1
  • 最近项目里有个需求和导航栏的样式定制有关,深入之后发现之前理解的一些概念有些模糊,刚好趁着这次机会全面整理了一下。...
    Kevin追梦先生阅读 526评论 0 0
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,556评论 1 14
  • 明确一下以前一知半解的属性吧,文中所有的代码都默认写在UIViewController中,所以self特指控制器。...
    thinkq阅读 3,047评论 2 10
  • 最近项目里有个需求和导航栏的样式定制有关,深入之后发现之前理解的一些概念有些模糊,刚好趁着这次机会全面整理了一下。...
    hi_xgb阅读 5,120评论 4 39