我创建了一个视图控制器,然后使用以下命令创建了一个导航控制器:
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/