我想在关键窗口上方添加一个视图,因此它可以显示在每个页面上。但是在更改方向时,视图将不会相应地旋转。我认为这是苹果改变旋转方法的ios6之后引起的。 所以我的问题是如何解决轮换问题,或者是否有其他简单的方法在每个页面上方显示视图。 感谢。
针对Nick C的更新:
我通过创建两个UIWindow对象来跟踪您的解决方案。但是当旋转设备时,它将显示黑色背景和半透明的顶部窗口。旋转动画完成后,将显示原始窗口。我认为这对用户体验不利。你对如何解决这个问题有任何想法吗? 这是我的代码:
self.topWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.watermarkViewController = [[WatermarkViewController alloc] init];
self.topWindow.rootViewController = self.watermarkViewController;
self.topWindow.windowLevel = UIWindowLevelAlert;
[self.topWindow makeKeyAndVisible];
self.topWindow.userInteractionEnabled = NO;
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[ContentViewController alloc] initWithNibName:@"ContentViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
答案 0 :(得分:2)
我认为您的问题出在iPad上,您可以像这样在窗口中添加子视图。
[[[[[UIApplication sharedApplication].windows objectAtIndex:0] subviews] objectAtIndex:0] addSubview:self.myView];
您可以从here
获取更多信息答案 1 :(得分:1)
初始化UIWindow并将windowLevel设置为UIWindowLevelAlert 创建一个UIViewController子类来保存您的视图,使其成为窗口的rootViewController,并覆盖 - [UIViewController supportedInterfaceOrientations]方法