2013-01-31 2 views
0

UIDeviceOrientationPortrait 및 UIDeviceOrientationLandscapeLeft를 지원하는 iPad 앱이 있습니다.iPad를 landscaperight 방향으로 강제로로드하는 방법?

나는이 방법을 포함했다 :

- (BOOL)shouldAutorotateToInterfaceOrientation:   
     (UIInterfaceOrientation)interfaceOrientation 
    { 
     return (interfaceOrientation == UIInterfaceOrientationPortrait || 
     interfaceOrientation == UIInterfaceOrientationLandscapeLeft); 
    } 

내가 가진 문제는 내 UI 컨트롤이 제대로 설치 될 것입니다 때문에, 그냥 부하를 들어, UIDeviceOrientationLandscapeLeft 모드에서로드 할 필요는 것이다. 어떻게해야 부하에 한 번만 강제로 할 수 있습니다.

한 가지의 I 싶어 노트는이 분 아이폰 OS 프로젝트 설정이나 정보 파일 5.

답변

1

최근에 비슷한 문제가 있었지만 강제로 Landscape에서 Portrait로 변경하고 싶었습니다. 이전 버전에서는 메소드가 내장되어 있다는 것을 알았지 만 불행히도 언제 우리에게 효과가 있는지 확신 할 수는 없었습니다. try the code and try me 그것은 나를 위해 일했으나 나의 시나리오는 당신의 시나리오와 반대되는 풍경에서 초상화로 강제하는 것이었다. 그러나 어쨌든 그것이 작동한다.

-(NSUInteger)supportedInterfaceOrientations 

{ 
    return UIInterfaceOrientationMaskLandscape; 

} 

-(void)viewWillAppear:(BOOL)animated { 

    UIApplication* application = [UIApplication sharedApplication]; 

    if (application.statusBarOrientation != UIInterfaceOrientationLandscapeLeft) 
    { 
     UIViewController *c = [[UIViewController alloc]init]; 
     [self presentModalViewController:c animated:NO]; 
     [self dismissModalViewControllerAnimated:NO]; 
    } 


    [super viewWillAppear:animated]; 
} 

편집 내가 내 이전 게시물에 추가하지 않은 두 가지 이상의 방법을 추가 한 IOS 6.1 작업, 나는 ... 이제 내 모든 응용 프로그램에 대해 작동되는 것을 추가

- (BOOL)shouldAutorotate 
{ 

    return NO; 
} 

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation 
{ 
    return UIInterfaceOrientationLandscapeLeft; 
} 

생각은 상태 표시 줄의 orietnation을 확인하고 modalViewController를 추가하고 닫는 것입니다.

+0

하지만이 코드에서 실제로 상태 표시 줄을 가로에서 세로로 회전시킬 수 있습니까? 또는 반대 Versa (당신의 시나리오에 따라) – Huang

+0

나는이 솔루션을 시도했지만 (상태 표시 줄의 방향을 바꾼 변형), 나에게는 효과가 없었고, 당신은 herre ein을 읽을 수 있었고, alsways는 작동하지 않는다. 어떤 안정적인 솔루션도 존재하지 않습니다. 그런데, statusBar의 방향을 바꾸는 것을 잊었습니까? – AlexWien

+0

내 편집 내 대답을 확인, 내 애플 리케이션 에서이 작업 코드가있다 shouldautoRotate가 NO로 설정되어 있고 preferredInterfaceOrientation이 landscapeleft 인 경우 새로운 viewcontroller를 표시하는 동안 modalViewController를 추가하고 viewWillAppear 내에서이를 삭제하면 트릭을 수행한다. – nsgulliver

0

업데이트이어야한다는 것입니다.
iOS 6.x에서는 supportedInterfaceOrientations을 무시해야합니다. 시도해보십시오 preferredInterfaceOrientationForPresentation.

+0

하지만로드 후 두 개의 방향을 지원하는 porject가 필요합니다. 단지로드에 대해 가로로로드해야합니다. – Huang

+0

override- preferredInterfaceOrientationForPresentation에 또 다른 메소드를 추가했습니다. 이 힘의 경관을 보려고 했습니까? – Yariv

0

또는 -shouldAutorotateToInterfaceOrientation: (또는 -shouldAutorotate) 메소드가 무시 되더라도보기 컨트롤러는 세로로 시작한 다음 iOS에서 가로로 회전합니다.

UI 레이아웃이 제대로 설정되지 않는 이유는 무엇입니까?

이 자신에게 호의를 보내기 : 특정 방향으로 장치를 강제로 정말 복잡하다이 답변은 당신이 무엇을 기대하지 않더라도

1

.

여기서 SO를 검색하면 모든 것이 작동하고 작동하지 않으며 6.1에서 작동하고 6.01에서는 작동하지 않습니다. 등등.

그래서 가장 빠르고 안전하게 코드를 수정하여 두 방향 모두에서 중심으로 초기화 할 수 있습니다.

관련 문제