繁体   English   中英

不显示从导航控制器推送的视图控制器

[英]view controller pushed from navigation controller is not displayed

我有一个导航视图控制器,可以正确推送“ viewController1”。 然后,从“ viewController1”调用goToApp函数以推送“ appViewController”。 函数goToApp已执行,但应用仍位于同一视图“ viewControlller1”。 如何推? 谢谢。

从viewController1:

 navigationViewController *theInstance = [[navigationViewController alloc] init];
    [theInstance goToApp];

在navigationViewController中:

-(void)goToApp {

    appViewController *AppsViewController = [[appViewController alloc] initWithNibName:@"appViewController" bundle:nil];

    [[self navController] pushViewController:AppsViewController animated:YES];

    [AppsViewController release];

}

goToApp已执行,但未启动appViewController。

您不应在viewController1中创建新的UINavigationController。 您应该通过属性navigationController获得它。 该属性将返回在其堆栈上具有UIViewController的UINavigationController(如果有的话,它可以为nil)。

UINavigationController * theInstance = self.navigationController;
[theInstance goToApp];

请参阅: http : //developer.apple.com/library/ios/#documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html属性navigationController。

除此之外,更好的约定是将指针正确命名为它们所代表的含义。 我建议将theInstance重命名为currentNavigationController或只是navigationController

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM