首页 > 代码库 > 被导航控制器包装的控制器的View的y值问题
被导航控制器包装的控制器的View的y值问题
最近一直在纠结问题,为什么有时候被导航控制器包装的控制器的View的y值有时候是64,有时候是0,觉得很奇怪,于是研究了一下,发现有个属性可以改变View的y值,那就是translucent(属于导航栏的)这个属性可以设置y值,这个属性的作用是用来设置导航栏是否半透明,默认值为Yes(半透明效果),为NO则不透明,下图展示了一下Yes和No的区别:
要想禁用translucent属性,可以在Storyboard中选中导航栏,然后在Attribute Inspectors中,取消translucent的勾选,或者直接导航栏的这个属性为NO。当translucent为NO是,当前导航控制器所包装的控制器的View的y值为64,反之为0,有些人会觉得奇怪,我没设置translucent=NO,只是用一个图片作为它的背景,然后View的y值就变成了64,
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav_bg.png"] forBarMetrics:UIBarMetricsDefault];
其实是你设置了图片之后,系统自动帮你把translucent那个属性的值设置成了NO,所以那个控制器的y值变成了64.
被导航控制器包装的控制器的View的y值问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。