У меня возникла проблема при попытке добавить UITabBar в качестве подзаголовка моего окна AppDelegate. Ссылка выше показывает скриншот грязного состояния экрана.Проблема внешнего вида UITabBar + NSThreads
Результаты непредсказуемы. На этом изображении затронуты только заголовки UITabBarItem, но иногда фон TabBar не отображается (следовательно, мы можем видеть фон окна). Иногда NavigationBar также затрагивается (не показано на этом рисунке).
Когда я запускаю приложение, я сначала должен проверить, есть ли сетевое подключение, поэтому он называется методом (verifyNetworkAvailability :), который будет работать в потоке, отличном от основного потока. Это делается для того, чтобы не замораживать приложение.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window makeKeyAndVisible];
// check if there's network connection in another thread
[NSThread detachNewThreadSelector: @selector(verifyNetworkAvailability:) toTarget:self withObject:self];
}
- (void) verifyNetworkAvailability:(MyAppDelegate*) appDelegate {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Check if there's network connection..
// If so, call the verifyNetworkAvailabilityDidEnd method
[appDelegate verifyNetworkAvailabilityDidEnd];
[pool release];
}
- (void) verifyNetworkAvailabilityDidEnd {
[window addSubview:tabBarController.view];
}
Я хотел бы знать, если это возможно, чтобы добавить tabBarController.view таким образом (с помощью вызова метода делается в потоке, отличном от основного потока).
Спасибо заранее
Спасибо !!! Это сработало отлично !!! –
Добро пожаловать :) – nduplessis