2012-07-07 2 views
0

나는 이것이 가능하지 않다고 믿을 수 없다. 확실히 모든 사람들이 반드시 필요로하는 것 중 하나 일뿐입니다.화면 방향을 가로 또는 세로로 찾으려면 어떻게합니까?

그래서,이 :

[UIScreen currentScreen] bounds]; 

에 관계없이 전화를 세로 또는 가로에서인지, 내 아이폰에 (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

가장 좋은 지침은 (주로 'laying flat'방향 때문에) [[UIApplication sharedApplication] statusBarOrientation]을 사용하는 것입니다. 이렇게하면 응용 프로그램이 기본 창의 좌표 변환 행렬을 조정 한 방법에 따라 올바른 값이 제공됩니다.