将RootviewController更改为导航控制器

时间:2012-09-03 07:13:24

标签: iphone ios ipad uinavigationcontroller rootview

我是iPhone新手,

我想将Rootviewcontroller更改为我的新班级,并将其设为导航控制器。

这是我的代码段,

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    


    UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:detailViewController];
    [self.window addSubview:navigationController.view];

    [self.window makeKeyAndVisible];


    return YES;
}

我正在SIGABRT'adding a root view controller <NewClass: 0x6a8dd50> as a child of view controller:

4 个答案:

答案 0 :(得分:12)

每当你想设置:

DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:detailViewController];
self.window.rootViewController =nil;
self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];

编辑:如上所示,直接使用AppDelegate instancerootViewController设置UIWindow

答案 1 :(得分:2)

而不是:

[self.window addSubview:navigationController.view];

使navigationController成为rootViewController window

 self.window.rootViewController = navigationController;

此外,detailViewController类型为UINavigationController吗?您无法将UINavigationController设置为另一个UINavigationController对象的根目录。

答案 2 :(得分:1)

只需添加此行

即可

RootViewController *defaultViewController=[[RootViewController alloc]initWithNibName:@"NAME_OF_XIB" bundle:nil];

在UINavigationController初始化之前

RootViewController *defaultViewController=[[RootViewController alloc]initWithNibName:@"NAME_OF_XIB" bundle:nil];
UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:detailViewController];
[self.window addSubview:navigationController.view];

[self.window makeKeyAndVisible];
return YES;

答案 3 :(得分:0)

将RootViewController更改为NavigationController ..

UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:self.detailViewController];
相关问题