2014-02-27 3 views
0

가로 모드에서만 화면을 만들고 싶습니다. 그것은 ios5 잘 작동합니다. 하지만 iOS 7에서는 작동하지 않습니다. ios7에서 다음 코드를 사용하여 지원을 제공했습니다.가로 방향이 ios7에서 지원되지 않습니다.

-(BOOL)shouldAutorotate{return TRUE;} 
-(NSUInteger)supportedInterfaceOrientations{return UIInterfaceOrientationMaskLandscape;} 

모든 화면을 호출하지 않습니다. 감사합니다. . AKS.

+0

시스템은 루트 viewController에게 방향 정보를 요청합니다. 코드가 rootVC에 있는지 확인하십시오. – Jing

+0

이 코드를보기 controller.m에 작성했습니다. 처음 전화가 왔어. 하지만 다음 화면으로 이동 한 후 전화를받지 않았습니다. – AKS

+0

UINavigationController를 사용하여 A에서 B로 이동 하시겠습니까? 그렇다면 UINavigationController를 서브 클래스 화하고 거기에 코드를 작성해야합니다. A로 작성한 코드는 작동하지 않습니다. – Jing

답변

0
- (BOOL)shouldAutorotate 
{ 
    UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation]; 

    if (orientation==UIDeviceOrientationLandscapeRight || orientation==UIDeviceOrientationLandscapeLeft) { 

     return YES; 
    } 
    return NO; 
} 

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskLandscape; 
} 
+0

하지만 문제는 다음 화면으로 이동할 때 전화를받지 못한다는 것입니다. – AKS

+0

루트 컨트롤러에서 viewController의 shouldAutorotate를 호출하십시오. 내비게이션 컨트롤러를 사용하는 경우 [self.navigationcontroller topViewController]를 사용하여 컨트롤러를 표시 할 수 있습니다. rootViewController의 shouldAutorotate에 "[topviewcontroller shouldAutorotate];"라고 씁니다. –

관련 문제