我创建了一个带有标签视图控制器的测试项目,单击一个标签,它将转到相应的屏幕(比如屏幕A),当我点击屏幕A中的后退按钮时,它将返回到主页但是没有tabView, 以下是可能的后退按钮代码,其中DataEntry是我要导航的类名
DataEntry *avController;
UINavigationController *addNavigationController;
if(avController == nil)
avController = [[DataEntry alloc] initWithNibName:nil bundle:nil];
if(addNavigationController == nil)
addNavigationController = [[UINavigationController alloc] initWithRootViewController:avController];
//avController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self.navigationController presentModalViewController:addNavigationController animated:YES];
如果我使用以下代码,则输入上述代码
[self.navigationController dismissModalViewControllerAnimated:YES];
它可以正常工作生病了回到带有标签的主页面,但它不会运行viewDidLoad中的更新代码,所以我需要导航到使用dismissModalViewController的主页面
任何人都可以告诉我当我使用dismissModalViewController导航到主页时我怎样才能获得tabView
答案 0 :(得分:0)
这是不正确的:
[self.navigationController presentModalViewController:addNavigationController animated:YES];
(这不是你的意思:它会呈现一个模态视图,当你解雇它时,它会发现下面的内容,即你的标签)
您应该使用pushViewController
来展示您的avController
,以便启用后退按钮,等等。
查看this。
答案 1 :(得分:0)
我正在努力解决你的问题,但是viewDidLoad只在视图加载时运行:不是当你回到屏幕A时:它仍然加载了。要在每次显示屏幕A时运行代码,请查看viewWillAppear / viewDidAppear http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html
我倾向于以编程方式创建标签而不是使用IB:它更清晰。看看这个答案,看看我是怎么做到的。 UITabBar with UINavigationController in code