由起
使用iOS8 SDK编译后的项目在ipad上运行发现某些控件如HUD弹出后它的位置有了旋转,但是该现象在iOS8的iphone设备上却没有出现。果断认为是iOS8SDK引起的,需要做紧急修复。
修复
代码中迅速找到rotation
的相关部分,发现已经是使用[[UIApplication sharedApplication] statusBarOrientation]
,那应该不会是方向获取错误导致的。那姑且以为是iPad上特有的现象,于是加了设备的判断,测试通过!可惜在iOS7的iPad上还是有问题,正当烦恼之际,突然想起之前的某个issue,果然是同样的问题,最终的解决方案是:
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1)
{
switch (interfaceOrientation) {
case UIInterfaceOrientationLandscapeLeft:
self.transform = CGAffineTransformMakeRotation(M_PI * 270.0 / 180.0);
break;
case UIInterfaceOrientationLandscapeRight:
self.transform = CGAffineTransformMakeRotation(M_PI * 90.0 / 180.0);
break;
case UIInterfaceOrientationPortraitUpsideDown:
self.transform = CGAffineTransformMakeRotation(M_PI * 180.0 / 180.0);
break;
default:
break;
}
}
问题最终解决,不过这个bug倒是满奇怪的,希望给遇到同样问题的人一个帮助。
Comments