UITabBarController 和 UINavigationController 的 popToRootViewController

在iOS7中,如果UITabBarController的每个Tab是一个UINavigationController,子viewController调用popToRootViewController:YES后切换Tab会导致UITabBarController短暂消失。原因是视图层次混乱。将popToRootViewController:YES改为NO可以解决问题。此外,NaviationController在popToRootViewController:YES时也可能出现导航栏不显示的bug。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IOS7 上面。

UITabBarController 的每一个Tab上是一个UINavigationController,

当一个子viewcontroller 里面 popToRootViewController :YES,

紧接着 UITabBarController setselectedindex:N,就会出现UITabBarController 不见了,

但是进入子viewcontroller的时候会闪一下,但是之前该显示UITabBarController的地方不显示了。

其实还是在的,应该是层级乱了,所以不能显示在最前了。

解决方案:popToRootViewController :YES  修改为: popToRootViewController :NO,问题解决

上面转自:http://blog.youkuaiyun.com/fg313071405/article/details/14531601

其实不止是UITabBarController, UINavigationController 的导航栏也会在返回主页面的时候 因为 popToRootViewController 的动画效果 为YES 而不显示,

在调整公司项目的bug时出的了这个问题,太tm诡异了,导航栏竟然消失掉了,而导航栏上面的文字竟然都存在...  _(:3」∠)_  醉了


    [self.navigationController popToRootViewControllerAnimated:YES];

[self.navigationController popToRootViewControllerAnimated:YES];
改为

[self.navigationController popToRootViewControllerAnimated:NO];
竟然就解决了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值