0

ViewController に UINavigationController を追加しようとしています。そして、アプリを起動すると、黒い画面が表示され、アプリが初期化されません。

これは私の AppDelegate.m です:

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

UIViewController *rootView = [[ViewController alloc]
                              initWithNibName:@"ViewController"
                              bundle:nil];
self.navController = [[UINavigationController alloc] initWithRootViewController:rootView];
[[self window] setRootViewController:self.navController];

//template code
[self.window makeKeyAndVisible];
[rootView release];
return YES;

}

私はこの記事に従っています: http://simplecode.me/2011/09/04/an-introduction-to-uinavigationcontroller/

どうしたの?ありがとう!

4

2 に答える 2

1

ARC とストーリーボードを使用してみてください。IOS 5 以降をターゲットにしている場合は、ナビゲーション コントローラーをストーリーボードにドラッグ アンド ドロップするだけで、はるかに簡単になり、コーディングも必要になります。

テストしていませんが、これを試してください:

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

UIViewController *rootView = [[ViewController alloc]
                              initWithNibName:@"ViewController"
                              bundle:nil];
UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:rootView];
        self.window.rootViewController =nil;
        self.window.rootViewController = navigationController;
        [self.window makeKeyAndVisible];
return YES;

}
于 2013-05-15T17:07:59.740 に答える
0

プロジェクトでテストして、このコードを使用しただけです...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.viewController = [[CCViewController alloc] initWithNibName:@"CCViewController" bundle:nil];
    UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController:self.viewController];
    self.window.rootViewController = navControl;
    [self.window makeKeyAndVisible];
    return YES;
}

うまくいきました。

于 2013-05-15T17:09:42.653 に答える