2013-01-06 2 views
0

어플 빌드 중 어려움을 겪고 있습니다. 나는 ECSlidingViewController를 사용하고 있는데, 그것은 그들이 사용하여 열려있는 새보기를 추가 모든입니다shouldAutorotateToInterfaceOrientation 메서드를 덮어 씁니다.

[self.view addSubview:_topViewController.view]; 

을 잘, 나는 하나 개의보기에 풍경을 해제 할 때까지. 내 응용 프로그램은 내가 자동 회전을 설정 한 뷰 컨트롤러에 시작은 어떻게 다른 뷰 컨트롤러에서이 메소드를 오버라이드 (override) 할 수

- (BOOL)shouldAutorotateToInterfaceOrientation(UIInterfaceOrientation)interfaceOrientation { 
    return NO; 
} 

를 비활성화하려면,이 서브 뷰으로 열 때?

도움 주시면 감사하겠습니다.

답변

0

몇 가지 화면을 세로로 만 만들거나 다른 두 가지를 모두 만들 수있는 방법이 확실하지 않습니다. 특히보기 중 하나가 이미 가로 모드에 있고 다음 한 세로보기를 열려면 고통입니다. 모든 요구 사항에 대해 확신하지 못합니다. shouldAutoRotate와 함께 supportedInterfaceOrientations를 사용해야합니다. 아무 것도 작동하지 않으면 원하는 방향과 현재 방향을 찾고 뷰에 변환을 적용합니다.

+0

글쎄, 한 가지를 제외하고는 앱이 세로로만 실행되기를 바랍니다. 전화를 돌릴 때도 앱은 세로로 유지됩니다. 그러나 제 견해 중 하나에서, 사진처럼 풍경으로도 회전하고 사용 가능한 공간을 활용하기를 원합니다. 감사. – rjg

+0

CGAffinetransform을 사용하여 뷰를 변형하고 올바른 뷰의 경계를 적용 할 수 있다고 생각합니다. – Siby

+0

나는 이것을 어떻게하면 좋을까? 감사. – rjg

0

view.transform = CGAffineTransformRotate (view.transform, phaseShift * M_PI/2.0f);

U는 디바이스 방향 및 인터페이스 방향에 따라 1 또는 -1로 사용할 phaseShift를 알고 있어야합니다.

+1

나는 어디에서 이것을 놓을 까? 완전히 잃어 버렸다. – rjg

관련 문제