2014-02-27 3 views
3

두 개의보기를 가진 GLKViewController이 있습니다 : GLKView 및 투명 UIView 일부 명령이 있습니다.UIViewController에서 하나의 UIView (두 개 중 하나만 회전)

GLKViewController은 세로 방향과 가로 방향의 두 가지 장치 방향을 지원합니다.

장치를 세로에서 가로로 회전 할 때 나는 싶습니다 다음 GLKView를 회전하지

  • 을;
  • 명령으로 오버레이 된 UIView를 회전하십시오.

기본적으로 GLKView는 항상 세로로 유지되어야하며 다른보기는 장치 방향을 따라야합니다.

GLKViewController는 NavigationController에 있습니다. NavigationController를 가로로 회전해야하거나 가짜 탐색 모음을 구현하고 프로그래밍 방식으로 '팝'을 수행해야합니다.

간단히 말해서 (알림을 잡은 후)보기를 회전시키는 솔루션을 보았지만 애니메이션보기를 계속 회전하고 싶습니다.

다른 UIViewController 하위 클래스를 사용하려고했는데 GLKViewController와 View를 두 자식 UIViewControllers로 명령으로 수신했지만 작동하지 않았습니다. 화면이 검게 남았습니다.

+0

다음을 시도해보십시오. http : //stackoverflow.com/a/14408563/2343998. 그것은 나를 위해 위대한 작품! – silvia182

답변

-1

UINavigationController가 관련된 경우 UINavigationController에서 범주를 만들고 supportedInterfaceOrientations를 재정의하십시오.

#import "UINavigationController+Orientation.h" 

@implementation UINavigationController (Orientation) 

-(NSUInteger)supportedInterfaceOrientations 
{ 
return [self.topViewController supportedInterfaceOrientations]; 
} 

-(BOOL)shouldAutorotate 
{ 
return YES; 
} 

@end 

이제 (예 : UINavigationController가 등) 아이폰 OS 컨테이너가 자동 회전 여부를 결정하기 위해 자녀를 참조하지 않습니다.

  1. 새 파일 (코코아 터치에서 목표 C-카테고리)

  2. 카테고리 추가 카테고리 만드는 방법 : UINavigationController가에 대한 방향을

  3. 는 UINavigationController가에 위의 코드를 추가 + 오리엔테이션.

+0

귀하의 답을 이해하지 못했거나 귀하가 제 질문을 이해하지 못했습니다. 동일한 탐색 장치의 다른 컨트롤러가 장치 방향 변경에 어떻게 다르게 반응하는지 묻지는 않습니다. 내 질문은 동일한 컨트롤러에서 두 가지 뷰를 사용하여 장치 방향 변경과 다르게 대응하는 방법에 관한 것입니다. –

+0

이것은 질문에 대한 대답이 아닙니다. 내부 UIViewController가 회전 할 때 일부 UIView가 회전되지 않는 방법을 다루지 않습니다. – Benjohn

관련 문제