0

XCode4とストーリーボードを使用してiPadアプリを作成しています。2つのUIViewを備えたTabBarコントローラーがあります。iPadアプリとKalがワークスペースにあります。カレンダーを表示するために、Kalサンプルコードの一部をコピーしようとしています。これは私がコピーしたものです(最小限の変更で):

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

//  initialization...
KalViewController *kal = [[KalViewController alloc] init];
kal.title = @"Saori";

//  configuration
kal.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Today" style:UIBarButtonItemStyleBordered target:self action:@selector(showAndSelectToday)];
kal.delegate = self;
EventKitDataSource *dataSource = [[EventKitDataSource alloc] init];
kal.dataSource = dataSource;

// Setup the navigation stack and display it.
navController = [[UINavigationController alloc] initWithRootViewController:kal];
[window addSubview:navController.view];
[window makeKeyAndVisible];

return YES;

}

最後の3行(ナビゲーションスタックをセットアップして表示)で、宣言されていない「navController」や「window」などのエラーが発生します。私はTabBarControllerを持っているので、このアプリに3行が含まれているとは思いませんが、カレンダーを表示するために3行を何に置き換えるかわかりません。

既存のコードを取得して、TabBarコントローラーのUIViewにKalカレンダーを表示するにはどうすればよいですか?

4

1 に答える 1

1

下の 3 行は必要ないというのは正しいですが、実際にはこれらの行は必要ありません。StoryBoards を使用している場合は、そこからビュー スタックを完全にセットアップできるはずです。必要な唯一のことは、EventKit データソースを Kal ビュー コントローラーに追加することですが、[KalViewController viewDidLoad:]. ビュー スタックは次のようになります。

ウィンドウ -> タブ バー コントローラー -> ナビゲーション バー コントローラー -> ルート ビュー コントローラー

したがって、ナビゲーション バー ビュー コントローラーをウィンドウに直接追加することで、タブ バー コントローラーを完全にスキップすることになります。

于 2012-06-11T21:17:49.567 に答える