外部UIWindow旋转不正确

时间:2015-04-19 18:11:00

标签: ios8 rotation uiwindow external-display

我正在创建一个外部窗口,以便从继承自nsobject的自定义类中匹配其uiscreen大小。但它的工作原理是错误的。它从各个角落旋转 - 取决于一些未知因素。在我添加的自定义类的视图控制器实现中

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}
-(BOOL)shouldAutorotate
{
    return YES;
}

并且旋转发生在外部屏幕上但边界总是错误的。它过去曾经工作但现在不是那么多。如何让外部屏幕忽略设备旋转,只需正确旋转以匹配墙上的电视?这甚至是问题吗?

1 个答案:

答案 0 :(得分:0)

一位朋友解决了这个问题,这是他的解决方案。检查操作系统的版本并处理8.3:

// Workaround for what seems like a bug in iOS 8.3
CGFloat magicAmount = (screenMode.size.width - screenMode.size.height) / 2;
_externalDisplayWindow.transform = CGAffineTransformTranslate(CGAffineTransformMakeRotation(-M_PI_2), -magicAmount, -magicAmount);