2013-05-04 3 views
0

앱을 개발 중이며 한 화면을 가로로 자동 회전하고 싶습니다."지원되는 인터페이스 방향"이 선례입니까?

앱에서 회전하는 유일한 화면입니다.

나는 이것을하는 가장 쉬운 방법을 찾고있다.

토글 버튼을 사용하여 빌드 요약 페이지에서 지원되는 방향을 설정하면 세로로 설정됩니다. 그런 다음 자동 회전을 원하는 화면의 코드에서이를 재정의 할 수 있습니까?

아니면 다른 방법으로해야합니까? 즉 모든 방향을 지원 한 다음 회전하지 않으려는 모든 화면을 사용 중지합니다.

감사

답변

1

또는 내가 라운드 그것을 다른 방법을 어떻게해야합니까? 즉 모든 방향을 지원 한 다음 회전하지 않으려는 모든 화면을 사용 중지합니다.

예. Info.plist 모두을 지원해야합니다. 그런 다음 특정 뷰 컨트롤러 방향을 supportedInterfaceOrientations으로 제한하십시오. 하나의 가로보기 컨트롤러가 제공되어야합니다 (예 : '모달'세그먼트 사용). presentViewController:animated:으로 전화하십시오.

여기에 내 대답은 유용 할 수 있습니다 :

https://stackoverflow.com/a/13755923/341994

여기 내 대답 :

https://stackoverflow.com/a/15301322/341994

+0

하나의보기 컨트롤러가있는 경우에도 동일합니까? –

0

는이 같은 회전 할 뷰의의 viewDidLoad 방법에 관찰자 추가하기 :

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; 
[[NSNotificationCenter defaultCenter] 
addObserver:self selector:@selector(orientationChanged:) 
name:UIDeviceOrientationDidChangeNotification 
object:[UIDevice currentDevice]]; 

다음 당신이 이 같은 방법 orientationChanged 내에서 변경하려는 뷰에 따라 뷰 설정 : 아이폰 OS 6에서

- (void) orientationChanged:(NSNotification *)note{ 
UIDevice * device = [UIDevice currentDevice]; 
switch(device.orientation) 
{ 
    case UIDeviceOrientationPortrait: 

     break; 
    case UIDeviceOrientationPortraitUpsideDown: 

     break; 
    case UIDeviceOrientationLandscapeLeft: 

     break; 
    case UIDeviceOrientationLandscapeRight: 

     break; 

    default: 
     break; 
    }; 
} 
0

을, (Info.plist에 명시된) 응용 프로그램 지원 방향은 위쪽으로 AND 연산된다 컨트롤러가 지원하는 방향보기를 보려면 원하는 방향을 지정하려면 Info.plist에 모든 방향에 대한 지원을 선언 한 다음 회전을 수행하지 않으려는보기 컨트롤러에서 supportedOrientations: 메서드를 재정의해야합니다 (예 :

).
- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 
관련 문제