1

分割ビュー コントローラーの詳細ビューとしてナビゲーション コントローラーをセットアップしました (NewFeedsNavigationController は UINavigationController から継承されます)。

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

    masterViewController = [[MasterViewController alloc] initWithStyle:UITableViewStylePlain];
    UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
    NewsFeedsNavigationController *newsFeedsNavigationController = [[NewsFeedsNavigationController alloc] initWithCategories];

    splitViewController = [[UISplitViewController alloc] init];
    masterViewController.splitViewController = splitViewController;
    splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, newsFeedsNavigationController, nil];
    splitViewController.delegate = newsFeedsNavigationController;


    // Add the split view controller's view to the window and display.
    [window addSubview:splitViewController.view];
    [window makeKeyAndVisible];

    return YES;
}

実際のところ、ナビゲーション コントローラーは縦向きでは見事に機能しますが、横向きではちょっとおかしくなります。階層を (ルート ビューに向かって) 戻るときは、常にビューごとに 2 回タップする必要があります。最初のタップで、表示されているビューがスタックからポップされ、2 回目のタップで、ナビゲーション バーが変わります。通常、両方が同時に発生します。何が問題なのかわかりません。

4

1 に答える 1

3

私は間違っていました。誤った動作は最新のリリースでも引き続き発生しますが、私の場合の解決策を見つけました。カスタム UINavigationController サブクラスを派生させてはなりません。ビューコントローラーのプログラマーガイドにもそう書かれています。その制限に従って、私はすべての問題を解決することができました。

于 2010-04-18T09:37:35.373 に答える