如何覆盖 UINavigationController 的构造函数以传入 rootViewController?
我将在 Objective-C 中使用如下方法:
-(id)initWithRootViewController:(UIViewController*)rootViewController
{
UIViewController *fakeController = [[[UIViewController alloc] init] autorelease];
if (self = [super initWithRootViewController:fakeController]) {
self.fakeRootViewController = fakeController;
rootViewController.navigationItem.hidesBackButton = YES;
[self pushViewController:rootViewController animated:NO];
}
return self;
}
先感谢您。问候。
PS 这段代码取自Change the root view controller
编辑:
谢谢您的回复。我对前面的代码片段很感兴趣,因为它特别有趣。
@Geoff Norton:也许我永远不会使用您的解决方案,但无论如何我觉得它很棒......
我的尝试是创建一种 UINavigationViewController 作为模板。特别是,UINavigationController 最初有一个 loginView(它可能是一种 rootviewcontroller)。然后在登录时,我可以有两种视图:主视图和辅助视图。前者与登录视图处于同一级别(它们可能是一种根视图控制器)。后者被推到第一个之上。您可以通过普通 UInavigationController 堆栈或通过工具栏进行导航。工具栏仅加载主视图。
是否可以使用 UINavigationController 来做到这一点?
再次感谢你。问候。