Я читал, что создание подклассов UITabBarController - не рекомендуемая практика.Однако как тогда реализовать ленивую загрузку представлений элементов панели вкладок?
Я играю со стандартной иерархией представления приложения: В моем основном файле делегата приложения (application: didFinishLaunchingWithOptions :), я создаю экземпляр пользовательского подкласса UITabBarController с 4 элементами / значками панели вкладок.Мне нужно только загрузить первое представление первого элемента панели вкладок - другие представления должны загружаться лениво по запросу.Итак, в приложении: 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:)
Итак, вернемся к проблеме, какие другие (более жалобы от Apple) опции могли бы реализовать обработку действий элемента панели вкладок для отложенной загрузки?