iPad用のタブバーベースのアプリケーションの簡単な例をやっています。タブ管理を担当するコントローラーがあります。
@interface MainTabBarController : UITabBarController
以下のように MainTabBarController に渡される一部のビュー コントローラー:
@interface WorkspaceViewController : UIViewController
///
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.tabBarRootController = [[MainTabBarController alloc] initWithNibName:@"MainTabBarController" bundle:nil];
UIViewController *workspaceController = [[[WorkspaceViewController alloc] initWithNibName:@"WorkspaceViewController" bundle:nil] autorelease];
self.tabBarRootController.viewControllers = [NSArray arrayWithObjects:workspaceController, nil];
self.window.rootViewController = self.tabBarRootController;
[self.window makeKeyAndVisible];
[workspaceController release];
return YES;
}
WorkspaceViewController には独自の xib ファイルがあります。この XIB ファイルを使用して、いくつかのコントロールをワークスペース ビューに追加していますが、すべて問題ありません。しかし、ツールバーを追加(xibファイルにドラッグアンドドロップ)したい場合、アプリの実行時にツールバーが表示されません。
これは私の WorkspaceViewController XIB ファイルがどのように見えるかです:
ツールバーは、アウトレット経由でコントローラーに接続されます (xib を使用)。
考えられる原因と解決方法を教えてください。私のツールバーは、ワークスペース ビューが表示されている場合にのみ表示する必要があり、ワークスペースでのみ反復する必要があります (ワークスペースはいくつかの描画を担当し、ツールバーには切り取り、貼り付け、コピーなどのオプションがあります)。