我提出了一些观点:
上一个是UITabBarController
一旦按下modalbox中的“关闭”按钮,我就会尝试将所有内容恢复到默认状态,并更改选项卡索引。
[self dismissModalViewControllerAnimated:YES];
[self.navigationController popViewControllerAnimated:NO];
[self.tabBarController setSelectedIndex:3];
这否定了模态视图,但没有做任何其他事情。有什么不对的吗?我读到了一些可能的ios错误,但我不知道如何解决它。
发布于 2011-06-03 12:24:13
UITabBarController
和UINavigationController
都不是视图。这两个类都是UIViewController
的子类,并具有一个属性NSArray *viewControllers
。
如果有一个actualView
由一个ActualViewController
控制,该ActualViewController
被推到一个由RootViewController
控制的rootView
之上,这个RootViewController
是navigationController
的rootViewController
,并且还有一个由ModalViewController
控制的modalView
,那么
[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
是否存在。
发布于 2011-06-03 12:23:54
简单(且肮脏)的方法:在模态视图中排除模态视图。使导航视图控制器成为模态视图的委托。使选项卡控制器成为导航控制器的委托。当按下按钮时,请调用导航控制器中的一个方法,该方法弹出视图,并调用选项卡控制器的方法,该方法将更改所选选项卡。
https://stackoverflow.com/questions/6232077
复制相似问题