如何在TabBar控制器的UIVIew中显示Kal的日历?

问题描述:

我正在使用XCode 4和Storyboards创建一个iPad应用程序。我有一个TabBar控制器与两个UIViews。我的iPad应用程序和Kal在工作区中。我正在尝试复制一些Kal示例代码以显示日历。这是我抄(最小的变化):如何在TabBar控制器的UIVIew中显示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”,并“窗口”。我不相信这个应用程序中包含3行代码,因为我拥有TabBar控制器,但我不知道如何替换它们以显示日历。

如何获取我现有的代码并在TabBar控制器的UIView中显示Kal日历?

你是对的,你不需要底部3行,但实际上,你不需要这些行中的任何一行。如果你使用的是StoryBoard,你应该可以从那里完全设置你的视图栈。唯一可能需要的是将EventKit数据源添加到您的Kal视图控制器,但您可以从[KalViewController viewDidLoad:]开始。你的观点堆栈应该是这样的:

窗口 - >标签栏控制器 - >导航栏控制器 - >根视图控制器

因此,通过直接将您的导航栏视图控制器的窗口,你跳过标签栏控制器完全。

+0

仍然没有工作,但我只注意到它有一个我没有考虑的代表。我需要做一些功课,看看我能走多远......如果需要,我会发布另一个问题。 – SpokaneDude