iOS: UITabBarController - отложенная загрузка представлений элементов

Я читал, что создание подкласса UITabBarController не рекомендуется. Однако как тогда можно реализовать отложенную загрузку представлений элементов панели вкладок?

Я экспериментирую со стандартной иерархией представлений приложения: в моем основном файле делегата приложения (application: didFinishLaunchingWithOptions :) я создаю экземпляр пользовательского подкласса UITabBarController с 4 элементами / значками панели вкладок. Мне нужно только загрузить первое представление первого элемента панели вкладок -другие представления должны загружаться лениво по запросу. Итак, в application: didFinishLaunchingWithOptions: я загружаю приветственное представление и помещаю его в первый UINavigationController (1). Остальные элементы панели вкладок пусты. UINavigationControllers - (2, 3, 4). Вот мой собственный подкласс UITabBarController, который также является удалением самого себя:

@interface MainUITabBarController : UITabBarController <UITabBarControllerDelegate> {
}
@end

@implementation MainUITabBarController
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
   UIImageView *image = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TableViewBG.jpg"]] autorelease];
   UIViewController *vc = [self.viewControllers objectAtIndex:item.tag];
   vc.view = image;
}
@end

В настоящее время вид второго элемента панели вкладок - это просто UIViewController, но скоро он станет UINavigationController :)

Итак, вернемся к проблема, какие еще варианты (больше жалоб на яблоко) могут заключаться в реализации обработки действий элемента панели вкладок для отложенной загрузки?

5
задан Centurion 9 June 2011 в 12:12
поделиться