好的,我在UITabBarController中嵌入了UINavigationController。选择选项卡栏项目时,我会看到UITableView,它是NavController的根。在表中选择一个项目会将我带到下一个视图(推送),在那里我为该项目设置值。点击Save Changes后,我将用户弹出到根控制器(表视图)。但是,UITabBarItem已从蓝色色调恢复为默认的灰色色调。如果在第二个屏幕中,我在导航栏中点击取消以返回根,则UITabBarItem是好的,即仍然被选中并呈蓝色。
我尝试了几种方法,包括在viewWillAppear上设置TabBar的选定项目,以及在UITabBarController本身中设置色调。似乎没有什么能解决这个问题。真正有趣的是,在UITableView的视图DidPear(根视图)中,如果我将所选TabBarItem的色调设置为蓝色,则结果颜色为深灰色。
如果我在选项卡栏中选择另一个项目,然后再次选择第一个项目,则返回蓝色色调。这与返回到导致这种情况的根视图有关。
有人看到这个吗?有什么想法吗?
如果在viewWillAppear、viewDidLoad(或在视图最终出现之前的任何时间)中有任何模式或弹出窗口(如AlertView),则会导致弹出视图时色调发生变化。
检查你的第二个视图控制器是否有这样的东西。