6

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

4 に答える 4

13

設定したいときはいつでも:

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 instanceして設定rootViewControllerします。UIWindow

于 2012-09-03T07:18:05.703 に答える
2

それ以外の:

[self.window addSubview:navigationController.view];

を作る:navigationController_rootViewControllerwindow

 self.window.rootViewController = navigationController;

また、detailViewControllerタイプUINavigationControllerですか?別のオブジェクトUINavigationControllerのルートとして設定することはできません。UINavigationController

于 2012-09-03T07:15:45.707 に答える
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;
于 2012-09-03T07:57:50.083 に答える
0

RootViewController を NavigationController に変更します。

UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:self.detailViewController];
于 2013-05-03T11:53:38.083 に答える