我正在推动一些观点:
按下模态框中的关闭按钮后,我试图将所有内容恢复为默认状态并更改tabbar索引。
[self dismissModalViewControllerAnimated:YES];
[self.navigationController popViewControllerAnimated:NO];
[self.tabBarController setSelectedIndex:3];
这解除了模态视图,但没有做任何其他事情。什么想法可能是错的?我读了一些关于可能的ios bug但我不知道如何解决它。
答案 0 :(得分:1)
UITabBarController
和UINavigationController
都不是视图。两者都是UIViewController
的子类,并且具有属性NSArray *viewControllers
。
如果actualView
控制的ActualViewController
被rootView
控制,而RootViewController
由rootViewController
控制,navigationController
为modalView
ModalViewController
,您还有一个由[self dismissModalViewControllerAnimated:YES];
控制的ModalViewController.m
,然后放
[self.navigationController popViewControllerAnimated:NO];
在ActualViewController.m
中,然后输入
modalView
[self.tabBarController setSelectedIndex:3];
中的(推测RootViewController.m
推文),推出
actualView
modalViewController
中的(推测navigationController
推文),推测可能是。
如果navigationController
从未添加到actualViewController
,则它不知道tabBarController
存在。
如果tabBarController
从未添加到{{1}},则它不知道{{1}}存在。
答案 1 :(得分:0)
简单(又脏)的方式: 在模态视图中关闭模态视图。使导航视图控制器成为模态视图的委托。使tabbar控制器成为导航控制器的委托。按下按钮时,调用导航控制器中弹出视图的方法,并调用tabbar控制器的方法来更改选定的选项卡。