如何在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:]
开始。你的观点堆栈应该是这样的:
窗口 - >标签栏控制器 - >导航栏控制器 - >根视图控制器
因此,通过直接将您的导航栏视图控制器的窗口,你跳过标签栏控制器完全。
仍然没有工作,但我只注意到它有一个我没有考虑的代表。我需要做一些功课,看看我能走多远......如果需要,我会发布另一个问题。 – SpokaneDude