1

내 문제는 다음과 같습니다. Portrait 및 landscapeLeft/Right를 모두 허용해야하는 1 개의 ViewController를 제외하고 모든 ViewController에서 세로 방향만 허용하려고합니다. 나는 이제 다른 슬라이드/ViewController에 대해 IOS에서 방향을 설정하는 방법에 거의 2 일을 보냈습니다. 나는 모든 독자를 저장하기 위해 여기에 약간의 시간 게시되는 스레드에 Kunani의 예를 따라 UITabBarController Rotation Issues in ios 6UITabBarController/UINavigationController 회전 문제

: 일부 검색 후 내가 스택 여기에이 스레드를 발견

잭을, 나는이 같은 문제로 실행 . TabController가 TabBar Controller 또는 UINavigationController 내부에 포함되어 있기 때문에 이러한 메서드 호출이 일반 View (iOS6에서 변경됨) 대신에 호출 내부에서 발생하기 때문입니다. 다른 뷰 (Signup Process, Login 등)로 탐색 한 모든 모달 뷰에서 UINavigationController 내부에 포함 된 viewController를 제공했기 때문에이 문제가 발생했습니다. 이 간단한 두 가지 방법을 포함하는 UINavigationController CATEGORY를 만드는 것이 간단합니다. 내 모달 뷰 회전을 원하지 않기 때문에 아무튼 반환하는 shouldAutorotate 있습니다. 귀하의 수정 사항이 간단 할 수도, 시도해보십시오. 희망이 도움이됩니다. 카테고리를 만들고 이름을 autoRotate로 지정한 다음 theUINavigationController 옵션을 선택했습니다. M + H 파일은 다음과 같습니다.

#import "UINavigationController+autoRotate.h" 

@implementation UINavigationController (autoRotate) 

-(BOOL)shouldAutorotate { 
return NO; 
} 

- (NSUInteger)supportedInterfaceOrientations { 
return UIInterfaceOrientationMaskPortrait; 
} 

@end 
... 그리고 카테고리 .H :

#import <UIKit/UIKit.h> 

@interface UINavigationController (autoRotate) 

-(BOOL)shouldAutorotate; 
- (NSUInteger)supportedInterfaceOrientations; 

@end 

내가 그는 말했다와 일 내 UITabBarController가에 대한 범주를 설정하려고 무슨 짓의 한 tabBar에 연결된 모든 클래스가 이제 orientationPortrait 수 있습니다 . 다음 그림

enter image description here

(내 프로젝트의 스크린 샷)를 보면하지만 ShowTaskView라는 스토리 보드의 중간에 클래스가있다. 이 클래스는 UINavigationController를 통해 대부분의 클래스 (UITabBarController에 직접 연결됨)에 연결됩니다. 세로 만 허용하도록 UITabBarController를 설정하더라도 ShowTaskView는 해당 규칙의 영향을받는 것으로 보이며 회전 할 수 없습니다. 내 프로젝트의 계획은이 같이 설명 할 수 있습니다

TabBarController ----> UINavigationController -------> class X ----------> class ShowTaskView 

내가 내 수업은 orientationPortrait 수 있도록 tabBarController에 연결 클래스의 나머지 부분은 세로와 가로 모두에 기반 허용하려면 여기에서 할 수있는 내 프로젝트가 어떻게 구축 되었습니까?/

감사

+0

내 대답을 참조하십시오. 문제가 해결 된 것 같습니다. http://stackoverflow.com/questions/12522903/uitabbarcontroller-rotation-issues-in-ios-6/17161835 –

답변