Не могу изменить размер окна UIWindow - PullRequest
6 голосов
/ 15 ноября 2011

Я пытаюсь добавить новое окно поверх моего текущего в приложении для 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];

Независимо от того, какой размер я установил для его фрейма, мне всегда предоставляют полноэкранное окно.Пожалуйста, сообщите, спасибо.

Ответы [ 2 ]

12 голосов
/ 02 января 2012

Чтобы изменить фрейм другого 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.

0 голосов
/ 15 ноября 2011

Приложения iOS должны иметь только один объект UIWindow.

вы, вероятно, должны установить фрейм в UIView viewController и добавить его как подпредставление.

...