Ios8 外部窗口旋转不正确

Ios8 外部窗口旋转不正确,ios8,rotation,uiwindow,external-display,Ios8,Rotation,Uiwindow,External Display,我正在创建一个外部窗口,以匹配从nsobject继承的自定义类的uiscreen大小。它工作,但旋转是错误的。它从不同的角度旋转-取决于一些未知因素。在我添加的自定义类的视图控制器实现中 -(NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskAll; } -(BOOL)shouldAutorotate { return YES; } 旋转发生在外部屏幕上,但边界总是错误的。以

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

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

旋转发生在外部屏幕上,但边界总是错误的。以前它能用,但现在不多了。如何使外部屏幕忽略设备旋转,而只是正确旋转以匹配墙上的电视?这就是问题所在吗?

一位朋友解决了这个问题,这就是他的解决方案。检查操作系统的版本,如果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);