0

私のアプリは、ウィンドウのルート ビューとして tabbarcontroller を使用して動作します。各タブ項目をクリックすると、splitviewcontroller に必要なビューが読み込まれます。分割ビューの左右のペインは、ナビゲーション コントローラーです。これで、テーブルビューのボタン アクションまたは didselectrow で、対応するビューが右側のペインに読み込まれます。右ペインのビューの読み込みに成功しましたが、分割ビューの右ペインに新しいビュー コントローラーが読み込まれたときに barbuttonitem を表示できませんでした。

タブバーコントローラー

-->スプリットビューコントローラー

----->左ペイン: ナビゲーション コントローラー

--------------->ビューコントローラー

----->右ペイン: ナビゲーション コントローラー

--------------->ビューコントローラー

タブ バーの各分割ビューは、'iPad メール アプリ' のように機能します。

アプリを一般化するために、uisplitviewcontroller のデリゲートを持つクラス RootiPadViewController と、slpitview にすべてのビューをロードする uipopovercontroller を使用しました。

以下のように、分割ビューの右側のペインにビューコントローラーをロードしました。

UISplitViewController *splitViewController = (UISplitViewController*)[appDelegate.tabBarController.viewControllers objectAtIndex:tabIndex];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
//[navController pushViewController:viewController animated:YES];

NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:[splitViewController.viewControllers objectAtIndex:0]];
[array addObject:navController];
splitViewController.viewControllers = array;
[array release];

splitviewcontrollerでビューが変更されたときにバーボタンアイテムが表示されない理由を教えてください。

アプリは以下のようになりますここに画像の説明を入力

ここに画像の説明を入力

4

3 に答える 3

0

このサンプル プロジェクトを確認してくださいhttps://github.com/alexth/TBSV

UITabBar 内で UISplitViewController を使用する方法についてです。すべてのロジックは、Appdelegate の-loadSplitToTabすべてのコントローラーの完全な継承にあり、他のすべてのケースでは、UISplitViewController はルートである必要があり (Apple ドキュメントで説明されているように)、UITabBar 内で UISplitViewController を使用することはできません。

于 2013-05-08T12:29:58.113 に答える
0

Navigation Controller の場合、各ビューは左右のバーのボタン項目を定義する必要があります。何も定義されていない場合、タブバーは空になります。無料で取得できる唯一のバーボタン アイテムは、ナビゲーション コントローラーの rootViewController の上に新しいビュー コントローラーをプッシュしたときに表示される戻るバーボタン アイテムです。

NavigationControoler の各 viewController の ViewDidLoad メソッドでそれらを割り当て、parentViewController (つまり、navigationController) の左右のバーボタン項目として設定する必要があります。

于 2013-05-02T07:30:40.993 に答える