2012-11-24 6 views
0

iOS6에서 자동 회전 작업을 시도합니다. 이미 그것에 대해 읽었습니다. 문제는, 윈도우에 대해 rootviewcontroller를 설정할 수 없다는 것입니다. 나는 그것을 시도했다 :
self.window.rootViewController = [[TTNavigator navigator] rootViewController];
하지만 앱은 iOS5를에서
는 자동 회전은 shouldAutorotateToInterfaceOrientation 방법 괜찮 았는데 ... 알 수없는 선택으로 충돌합니다.iOS6에서 Three20 자동 회전

답변

1

자동 회전이 iOS6으로 변경되었습니다. 예, iOS5에서 shouldAutorotateToInterfaceOrientation을 사용했습니다. iOS5를 지원하려면 iOS5가 필요하지만 iOS6을 지원하려면 아래 새 방법을 사용하십시오.

나는 이것이 내가 생각하는 것 같아.

#pragma mark - View Orientation 
-(NSUInteger)supportedInterfaceOrientations { 
// For iOS6 

NSUInteger orientation = 0; 

orientation |= UIInterfaceOrientationMaskPortrait; 
orientation |= UIInterfaceOrientationMaskPortraitUpsideDown; 
orientation |= UIInterfaceOrientationMaskLandscapeLeft; 
orientation |= UIInterfaceOrientationMaskLandscapeRight; 

return orientation; 
} 

그런 다음 지원하지 않으려는 행을 주석 처리하거나 제거하십시오. 원하는 방향을 비트 단위로 'OR'로 한 행으로 되돌릴 수 있습니다.

UIInterfaceOrientationMaskAllUIInterfaceOrientationMaskAllButUpsideDown

+0

답변 해 주셔서 고맙지 만 작동하지 않습니다. 나는 그것이 iOS6와 함께 Three20과 함께 할 일이 있다고 생각한다. – FrediWeber

+0

@Eragonio 커스텀 컨트롤이기 때문에 ios6 버전의 rotate가 아직 구현되지 않았습니까? 여기에있는 다른 답변들과 다른 SO 스레드들에서는 간단히 구현할 수 있습니까? 죄송합니다. 아직 Three20에 대한 경험이 없습니다. – Madivad

+0

그리고 나는 다른 대답이 여기 당신의 대답임을 깨달았습니다. 다행 이네. – Madivad

3

시도 다음

[[[UIApplication sharedApplication] keyWindow] setRootViewController : [TTNavigator 네비게이터] rootViewController];