UINavigationController

UINavigationController

我创建了一个视图控制器,然后使用以下命令创建了一个导航控制器:

initWithRootViewController:


然后我观察到它调用pushViewController:animated:,因为我使用的是自己的UINavigationController子类,所以我覆盖了pushViewController:animated:

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    [super pushViewController:viewController animated:animated];
    // do something with the VC
}


问题是,之后

[super pushViewController:viewController animated:animated];


viewController.isViewLoaded是NO,所以我实际上不能做我想做的事,当将它用作导航控制器的根VC时,是否有一种方法可以强制加载VC?

谢谢!

编辑,下面是代码:

MyViewController *vc = [[MyViewController alloc] initWithNib:@"" bundle:nil];
MyNavController *nav = [[MyNavController alloc] initWithRootViewController:vc];

self.revealViewController.frontViewController = nav;

最佳答案

我在Apple文档中找到了这个答案


  UINavigationController类实现专用视图
  管理分层内容导航的控制器。这个
  class不适用于子类化。


http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html

关于objective-c - UINavigationController initWithRootVC:如何强制VC加载?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13794663/

10-14 21:24