我正在尝试创建两个 UIWindows,因为我想在我的应用程序上同时在屏幕上显示两个 UINavigationController。我在我的应用程序委托中初始化了两个窗口,但只显示了一个窗口的视图。有谁知道为什么会这样?
这是我使用的代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIViewController * controller1 = [[UIViewController alloc] init];
[controller1.view setBackgroundColor:[UIColor grayColor]];
UINavigationController * nav1 = [[UINavigationController alloc] initWithRootViewController:controller1];
[window addSubview:nav1.view];
[window makeKeyAndVisible];
UIWindow * window2 = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
UIViewController * controller2 = [[UIViewController alloc] init];
[controller2.view setBackgroundColor:[UIColor yellowColor]];
UINavigationController * nav2 = [[UINavigationController alloc] initWithRootViewController:controller2];
[window2 addSubview:nav2.view];
[window2 makeKeyAndVisible];
NSLog(@"%@", [[UIApplication sharedApplication] windows]);
return YES;
}
第一个窗口的灰色可见,但第二个窗口的黄色不可见。输出是:
"<UIWindow: 0x591e650; frame = (0 0; 768 1024); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x591e7a0>>",
"<UIWindow: 0x5923920; frame = (0 0; 100 100); layer = <CALayer: 0x59239a0>>"
这意味着第二个窗口被创建并添加到应用程序中,但只是不显示。有谁知道为什么会这样?
提前致谢!