добавление Kal Calendar в качестве корневого контроллера для элемента панели вкладок, без использования контроллера Nav - PullRequest
1 голос
/ 29 августа 2011

Примеры контроллера календаря Kal все инициализируют контроллер в делегате приложения и нажимают на NavigationController. Я попробовал это, и это действительно работает, однако мне нужно, чтобы мой календарь был rootController для одного из моих элементов Tabbar, который был добавлен в основной кончик.

Я пытался добавить класс UIViewController в качестве корневого класса в моем nib для элемента, а затем инициализировать календарь в контроллере представления:

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

Он появляется, но вылетает, если я касаюсь месяцев, дней и т. Д. *

В качестве альтернативы я создал класс на основе KalViewController и сделал его корневым классом для моего элемента панели вкладок. Но сразу вылетает без отображения.

Возможно, можно добавить KalViewController непосредственно в массив viewController панели вкладок, однако я создал панель вкладок в кончике, используя делегат приложения. Я не знаю, как его добавить.

1 Ответ

1 голос
/ 29 августа 2011

Мне недавно пришлось это сделать, я оставил вкладку календаря из MainWindow.xib, а затем в appDelegate я взял список tabBarControllers ViewControllers, загрузил их в mutableArray, вставил KalViewController, где я хотел, и затем установил,вернуться во вкладку BarController.

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...