navigationController.navigationBar.hiden 导航栏隐藏引发的坐标自动变更

一般使用navgationbar的时候,我们会让其translucent = no,以适配 ios6和ios7的UI界面。这个时候的self.view的坐标原点,是在navgationbar的下面的,不会被bar遮挡。


接下来就是我遇到的问题的重点了:

如果A界面在viewdidappear界面已经出现之后,使navgationbar.hiden = yes,这时界面不会有变化,只是navgationbar不见了,navgationbar原来的位置留下了一片空白。

但是,如果这时候,我们进入了另外一个界面B,然后返回这个A界面,我们就会发现,ios系统自动帮我们适配了界面,navgationbar空白的位置被A界面上移而填充掉了。

经过测试,在viewwillappear 完成前使navgationbar.hiden = yes,坐标效果会和navgationbar.translucent = yes的效果一样;而如果在viewwillappear完成后,比如在viewdidappear里面填写navgationbar.hiden = yes,则ios系统不会帮我们上移坐标点,效果与navgationbar.translucent = NO一样,只是navgationbar不见了,navgationbar原来的位置留下

了一片空白。

{

这里总结说明一下,navgationbar.translucent = yes,无论在程序任何地方写这条属性,self.view的坐标都会被ios系统自动适配改变。而navgationbar.hiden = yes,则必须等待程序重新执行到viewWillApear方法后才会被系统自动适配改变坐标原点。

}

以下就是我操作navgationbar.hiden 属性而导致系统帮我自动调整了界面坐标的测试图。


下图是 navgationbar.translucent = NO,navgationbar.hiden = NO.



下图是按了按钮后,使navgationbar.hiden = YES;导航栏不见了。




下图是进入其它界面后,返回到原界面A。导航栏不见了,而且界面自动上移填充了原本导航栏的位置。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值