我正在尝试在iPad应用程序的基础上添加一个新窗口,但我无法弄清楚为什么它总是呈现为全屏。 我正在使用此代码:
UIWindow *window = [[UIWindow alloc]initWithFrame:CGRectMake(0, 0, 20, 20)];
[window setFrame:CGRectMake(0, 0, 20, 20)];
ArrowController *controller = [[ArrowController alloc]initWithNibName:@"ArrowController" bundle:nil];
[window setRootViewController:controller];
[window setHidden:NO];
[controller release];
无论我在框架上放置什么尺寸,我都会看到一个全屏尺寸的窗口。 请指教,谢谢。
答案 0 :(得分:12)
要更改您添加的另一个UIWindow的框架,您必须使用所需的框架初始化窗口:
self.myNewWindow = [[UIWindow alloc] initWithFrame:CGRectMake(10, 10+20, 300, 440)];
将其属性剪辑设置为活动边界:
[self.myNewWindow setClipsToBounds:YES];
然后在将rootViewController设置为新窗口后,也设置其框架:
self.myNewWindow.rootViewController = self.fooViewController;
[self.myNewWindow makeKeyAndVisible];
self.fooViewController.view.frame = CGRectMake(0, 0, 300, 440);
这适用于iPhone和iPad。
答案 1 :(得分:-17)
iOS应用只应该有一个UIWindow对象。
你可能应该在viewController的UIView上设置框架,并将其添加为子视图。