У меня есть приложение с UITabBarController, которое управляет некоторыми UINavigationControllers, которые, в свою очередь, управляют различными UIViewController.
На телефонах 3G, в первый раз, когда я вижу какой-либо конкретный вид с помощью кнопки TabBar, он запаздывает, но после этого он мгновенный. Это не заметно с телефонами 3GS. Мой вопрос заключается в том, как я могу заставить эти представления предварительно визуализировать? Я пытался запускать функции loadView, вызывая их в другом потоке при запуске, но это не делает ничего, что я не думаю.
Для ясности, вот сокращенный фрагмент моего кода, чтобы показать, что я делаю. У меня есть пять контроллеров представления, но я показываю только код для двух. PoiVC - это просто стандартный подкласс UITableViewController - у меня даже нет специальной функции init или loadView для него.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
self.mapVC = [[MapViewController alloc] init];
NavControlBar * mapNavBar = [[[NavControlBar alloc] initWithViewController:mapVC
withControlBar:[mapVC initBar]]autorelease];
self.poiVC = [[POIViewController alloc] init];
NavControlBar * poiNavBar = [[[NavControlBar alloc] initWithViewController:poiVC
withControlBar:[poiVC initBar]]autorelease];
NSArray *tabViewControllerArray = [NSArray arrayWithObjects:mapNavBar, poiNavBar, nil];
self.tbc.viewControllers = tabViewControllerArray;
self.tbc.delegate = self;
[mapVC release];
[poiVC release];
[window addSubview:tbc.view];
}
Могу ли я заставить poiVC визуализировать, пока пользователь смотрит на первый экран, поэтому переход будет быстрым?