我们按下时没有获得标签视图

时间:2011-05-19 10:23:56

标签: iphone objective-c uitableview

每个人都

我创建了一个带有标签视图控制器的测试项目,单击一个标签,它将转到相应的屏幕(比如屏幕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

2 个答案:

答案 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