关键窗口方向

时间:2013-03-15 03:40:41

标签: ios ios6

我想在关键窗口上方添加一个视图,因此它可以显示在每个页面上。但是在更改方向时,视图将不会相应地旋转。我认为这是苹果改变旋转方法的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];

2 个答案:

答案 0 :(得分:2)

我认为您的问题出在iPad上,您可以像这样在窗口中添加子视图。

 [[[[[UIApplication sharedApplication].windows objectAtIndex:0] subviews] objectAtIndex:0] addSubview:self.myView];

您可以从here

获取更多信息

答案 1 :(得分:1)

初始化UIWindow并将windowLevel设置为UIWindowLevelAlert 创建一个UIViewController子类来保存您的视图,使其成为窗口的rootViewController,并覆盖 - [UIViewController supportedInterfaceOrientations]方法