尝试将 UITabBar 添加为 AppDelegate 窗口的子视图时遇到问题。上面的链接显示了屏幕混乱状态的屏幕截图。
结果是不可预测的。在这张图片中,只有 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(通过在主线程以外的线程中完成的方法调用)。
提前致谢