gpt4 book ai didi

iphone - 将 Kal Calendar 添加为选项卡栏项目的根 Controller ,而不是使用导航 Controller

转载 作者:行者123 更新时间:2023-11-29 13:46:26 25 4
gpt4 key购买 nike

Kal 日历 Controller 的示例都在应用委托(delegate)中初始化 Controller 并推送到导航 Controller 上。我试过了,它确实有效,但是我需要我的日历成为我的 Tabbar 项目之一的 rootController,这是在主 Nib 中添加的。

我尝试的是在我的 Nib 中为项目添加一个 UIViewController 类作为根类,然后在 View Controller 中初始化日历:

KalViewController *calendar = [[KalViewController alloc] init];
[self.view addSubview:calendar];
[calendar release];

它会显示,但如果我触摸月份、日期等就会崩溃......

或者,我创建了一个基于 KalViewController 的类,并将其作为我的选项卡栏项目的根类。但这会立即崩溃而不会显示。

也许可以将 KalViewController 直接添加到选项卡栏 viewController 数组中,但是我使用应用程序委托(delegate)在 Nib 中创建了选项卡栏。我不知道如何添加它。

最佳答案

我最近不得不这样做,我将日历选项卡从 MainWindow.xib 中移出,然后在 appDelegate 中,我抓取了 tabBarControllers 的 ViewControllers 列表,将它们加载到 mutableArray 中,将 KalViewController 插入到我想要的位置,然后进行设置回到 tabBarController。

calendarDataSource = [[CalendarDataSource alloc] init];
// I had to override a few things in the calendar so I subclassed it. You get the idea though
_kalViewController = [[MyKalViewController alloc] init];
_kalViewController.dataSource = self.calendarDataSource;

_kalViewController.delegate = _kalViewController;
UINavigationController *navigationController = [[[UINavigationController alloc] initWithRootViewController:_kalViewController] autorelease];
navigationController.tabBarItem.title = @"Calendar";
navigationController.tabBarItem.image = [UIImage imageNamed:@"cal-tab.png"];
NSMutableArray *viewControllers = [self.tabBarController.viewControllers mutableCopy];
[viewControllers insertObject:navigationController atIndex:1];
self.tabBarController.viewControllers = viewControllers;

关于iphone - 将 Kal Calendar 添加为选项卡栏项目的根 Controller ,而不是使用导航 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7224810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com