iOS的执行了VC执行了popToRootViewControllerAnimated之后再直接执行VC.tabBarController.selectedIndex不管用解读

本文介绍了在iOS开发中遇到的一个问题:执行`popToRootViewControllerAnimated`后,`tabBarController.selectedIndex`失效。分析原因是`popToRootViewControllerAnimated`会释放当前视图控制器,导致后续切换tab无效。解决办法是在执行`popToRootViewControllerAnimated`前设置`tabBar`的相关属性,确保其不被隐藏。

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

前言

今天我在使用VC.tabBarController.selectedIndex的时候出现了这个问题,我首先用导航控制器跳转了很多个界面,然后想直接回到根控制器tabBarController的其他的控制器上,也就是执行VC.tabBarController.selectedIndex = 1这样的操作,可以直接操作的呀,当然肯定行了,会有个问题就是你再点击之前的那个标签控制器的话,还是显示之前那个界面并没有回到首页。所以我的打算就是先回到导航控制器的根控制器的,然后再切换根控制器。

遇到的问题
[viewVC.navigationController popToRootViewControllerAnimated:NO];
viewVC.tabBarController.selectedIndex = 1;

我这样写的看上去很正常的,但是结果就是只执行了pop的方法,但是下面虽然也执行了,但是并没有作用,标签控制器并没有切换,只是回到根控制器了。后来尝试让他们切换一下前后位置,很奇怪的事居然可以行的通了,都执行了,切回来的时候而且之前也回到首页了。

分析原因

其实,我之后分析一下,就可以很明白的看出来什么原因,我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值