2012-07-07 128 views
0

我不敢相信这是不可能的。这只是每个人都必须要求的事情之一。如何找出纵向或横向的屏幕方向?

所以,这样的:

[UIScreen currentScreen] bounds]; 

在我的iPhone返回320的宽度,无论手机是否是纵向还是横向。所以我做了这个辅助方法:

+(CGRect)screenFrame { 

    CGRect frame = [UIScreen mainScreen].bounds; 

    if (UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation])) { 
     return frame; 
    } 
    else { 
     CGRect newFrame = CGRectMake(frame.origin.x, frame.origin.y, frame.size.height, frame.size.width); 
     return newFrame; 
    } 

} 

当设备平放除了伟大的工程,显然这使得它认为这是在景观,即使屏幕不改变为横向。

我该如何调整它才能让它工作?

回答

3

最好的指导(主要是因为'铺设平面'的方向)是使用[[UIApplication sharedApplication] statusBarOrientation]。这会根据应用程序如何调整主窗口的坐标变换矩阵给出正确的值。

相关问题