2010-07-06 2 views
0

shouldAutorotateToInterfaceOrientation이 확실히 호출되고 있습니다 ...하지만 iphone을 회전하면 ... 시뮬레이터가 변경되지 않습니다. iPhone 3.x 및 4.x : shouldAutorotateToInterfaceOrientation이 TRUE를 반환하지만 아무 것도 발생하지 않습니다.

나는 내가해야 할 일을했을 모든이라고 생각 :

-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    NSLog(@"this is being called ok"); 
    return(YES);  // Or return(TRUE); 
} 

하지만 내가 설정해야 뭔가가 생각 ????

+0

현재'UIViewControllers' 화면에서'YES' (Objective-C에서는'TRUE'보다 선호하지만, 모두 작동합니다)로 설정 했습니까? –

+0

나는 YES와 TRUE를 시도했다. "현재 모든 화면보기 컨트롤러"를 어떻게 찾을 수 있습니까? 내 1 탭 막대에 Main ... 및 3 탭 4 개의 XIB가 있습니다. 3 * .m 개의 파일. (각 XIB 당 1) ... 그리고 나서 app-delegate * .m 파일. 회전 할 수 있도록 탭이 1 개만 있으면됩니다. 4 개의 다른 장소에 표시하려면 shouldAutorotateToInterfaceOrientation이 필요합니까? 아니면 1을 회전해야합니까? 아니면 app-delegate에서만? – Helen

답변

0

탭 막대 컨트롤러에 추가 된 모든보기 컨트롤러는 탭 막대 컨트롤러가이를 지원할 수 있도록 방향을 지원해야한다고 생각합니다. 기본적으로 UIViewController는 세로 방향 만 지원합니다. 그렇지 않으면 인터페이스를 지원하는 탭에서 가로 방향으로 회전 한 다음 해당 인터페이스를 지원하지 않는 탭으로 전환하면 인터페이스가 변형됩니다.

+0

그래서 대답은 "4 개의 다른 장소에 나타나야합니다"입니까? 나는 다른 응용 프로그램에서는 "일부보기 만 회전하고 다른 사용자는 그렇지 않다"는 것을 확실히 알았습니다. 탭 뷰 2가 회전을 허용하는 경우 정확히 "맹 글링 된"것이지만 탭 3은이를 금지합니까? 또한 ... shouldAutorotateToInterfaceOrientation의 * ONE * 복사본을 작성하는 것이 가장 쉽고 내 코드에 4 번 (잘라 내기/붙여 넣기를하지 않고) 나타나야합니까? – Helen

+0

회전하면 탭 표시 줄과 상태 표시 줄도 회전합니다. 따라서 탭 중 하나가 세로 방향으로 남아 있으면 사용자가 머리를 기울이거나 뒤로 돌리도록 훨씬 좁아집니다 (탭과 관련하여 옆으로 늘어납니다). 그리고 사용자는 일을 강요하는 것을 좋아하지 않습니다 :-) 네가 4 줄에서 두 줄을 복제하고 싶지 않다면, shouldAutorotateToInterfaceOrientation을 오버라이드하고 나머지 부분을 파생시키는 UIViewController 서브 클래스를 만들 수 있습니다. 당신의보기 컨트롤러. – Brian

관련 문제