美文网首页
self.view.frame从导航栏以下开始计算

self.view.frame从导航栏以下开始计算

作者: 紫嫣沁 | 来源:发表于2021-08-26 14:49 被阅读0次

在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt

方法一:可以通过设置这个属性解决

if([self respondsToSelector:@selector(edgesForExtendedLayout)]){

self.edgesForExtendedLayout=UIRectEdgeNone;

}

UIRectEdgeBottom:  从navigationBar下面开始计算一直到屏幕底部;

UIRectEdgeNone:从navigationBar下面开始计算一直到屏幕tabBar上部;

UIRectEdgeTop:从navigationBar上面计算面开始计算一直到屏幕tabBar上部;

UIRectEdgeAll:全部覆盖

iOS7以上系统,self.navigationController.navigationBar.translucent默认为YES,self.view.frame.origin.y从0开始(屏幕最上部)。此时如果设置为UIRectEdgeNone,当给屏幕截图时由于navBar是透明的,会出现64像素的黑色区域。

方法二:可以把导航栏的透明度设为NO

self.navigationController.navigationBar.translucent = NO;

相关文章

  • self.view.frame从导航栏以下开始计算

    在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtend...

  • iOS开发中的实用小技巧(01)

    1. iOS7以后带有导航栏的控制器的视图坐标是从屏幕左上角开始计算了,这和我们之前一直从导航栏以下开始计算的使用...

  • NAV

    文字按钮 视图推送 设置CGRectZero从导航栏下开始计算

  • View 在导航栏下面开始计算

    解决方法一: // 设置CGRectZero从导航栏下开始计算 if ([self respondsToSelec...

  • 设置导航栏颜色, 字体大小

    取出导航栏 设置导航栏背景色 设置标题颜色和字体大小 设置布局从导航栏下开始, 把导航栏设置为不透明 设置状态栏的...

  • js判断页面上滚下滚

    今天做了个导航栏,客户要求的效果是当页面下滚时导航栏消失,上滚时导航栏出现。以下是代码: 代码是从网上找的,本人试...

  • UINavigationBar与状态栏重合

    iOS7之前状态栏与导航条的是分开计算的,状态栏占20,导航条占44;iOS7开始状态栏就不在占用高度,导航条的高...

  • iOS-视图从导航栏下开始布局

    第一种: 将导航栏改成不透明即可 第二种:导航栏透明的情况下,frame从导航栏下面开始

  • 导航栏细线与阴影显示问题

    某项目中,关于导航栏显示问题主要有以下几种情况出现:1)导航栏不透明,有细线;2)导航栏不透明,无细线;3)导航栏...

  • iO 关于NavigationBar、NavigationIte

    前言:经常遇到这样的需求:从有导航栏的界面跳转到导航栏透明的界面,由于iOS从有导航栏跳转到透明导航栏界面,并且设...

网友评论

      本文标题:self.view.frame从导航栏以下开始计算

      本文链接:https://www.haomeiwen.com/subject/xplvwhtx.html