2012-10-15 3 views
1

세로보기 모드의 일부보기가있는 응용 프로그램이 있으며 가로 모드의 모달보기 컨트롤러를 제공합니다 ... IOS 5.0 및 5.1의 경우 IOS 6에서 완벽하게 작동합니다. modalView를 세로 모드로 엽니 다. 당신은 알 필요가 : 나는 스토리 보드를 사용하고 난 VC 애플 대리자에서 풍경 ... 에 내가 추가 한 설정 : IOS에서 스토리 보드를 사용하는 가로 모드의 현재 modalViewController 6

-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)w 
{return UIInterfaceOrientationMaskPortrait;} 

내가 | UIInterfaceOrientationMaskLandscape를 추가 할 경우

, 나는 다른 뷰에서 응용 프로그램을 회전 할 수 있어요.

요약을 위해 지원되는 모든 인터페이스 방향이 비활성화되었습니다. 여기에서는 세로 및 가로 방향을 왼쪽으로 설정하려고 시도했지만 잘 작동하지만이 경우 전체보기는 왼쪽 및 세로 방향으로 회전 할 수 있습니다. "지원 :

-(NSUInteger)supportedInterfaceOrientations {return UIInterfaceOrientationLandscapeLeft;} -(BOOL)shouldAutorotate {return YES;} 

내가 점심 modalView에 버튼을 누를 때 실행 한 후

, 나는이 오류가 : 나는 풍경에 점심하려는의 ViewController에서이 후

, 나는 IOS 6이 방법이 오리엔테이션에는 응용 프로그램과 일반적인 오리엔테이션이 없으며 shouldAutorotate는 YES를 반환합니다. "

해당 메소드에서 YES를 반환하는 것에 대해 알고 있지만 NO로 설정하면 아무 반응이 없습니다. 나는 그것을 고려하고 싶다 : 내 애플 IOS 5 이상에서 작동해야합니다.

아무도 나를 도울 수 있습니까?)

많은 감사

+0

안녕하세요, 저는 새로운 탐색 컨트롤러 (스토리 보드에서)를 추가 한 다음이 새 nav 컨트롤러에서 모달을 제공합니다. 희망을 당신이 관리 할 수 ​​있습니다. 행운을 빌어 요.) – Bonnke

답변

3
- (void)viewWillAppear:(BOOL)animated { 
[super viewWillAppear:animated]; 
[self transformView2ToLandscape];} 

-(void) transformView2ToLandscape { 

NSInteger rotationDirection; 
UIDeviceOrientation currentOrientation = [[UIDevice currentDevice] orientation]; 

if(currentOrientation == UIDeviceOrientationLandscapeLeft){ 
    rotationDirection = 1; 
}else { 
    rotationDirection = -1; 
} 

CGAffineTransform transform = [arController.viewController.view transform]; 
transform = CGAffineTransformRotate(transform, degreesToRadians(rotationDirection * 90)); 
[arController.viewController.view setTransform: transform];} 

이 나를 위해 잘 작동을, 어떤 제안 그것을 감사합니다.

관련 문제