Невозможно изменить размер окна UIWindow
Я пытаюсь добавить новое окно поверх моего текущего, в приложении 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 ответов
приложения iOS должны иметь только один объект UIWindow.
вероятно, вы должны установить кадр в UIView viewController и добавить его в качестве подвида.
чтобы изменить рамку другого UIWindow вы добавляете, вы должны init окно с рамкой вы хотите:
self.myNewWindow = [[UIWindow alloc] initWithFrame:CGRectMake(10, 10+20, 300, 440)];
установите для клипов свойств bounds значение active:
[self.myNewWindow setClipsToBounds:YES];
а затем, после установки вашего rootViewController в новое окно, установите его рамку тоже:
self.myNewWindow.rootViewController = self.fooViewController;
[self.myNewWindow makeKeyAndVisible];
self.fooViewController.view.frame = CGRectMake(0, 0, 300, 440);
это работает на iPhone и iPad.