본문 바로가기

□컴퓨터 관련/★iPhone Developer

뷰 컨트롤러(UIViewController)의 회전관련 메서드


UIVIewController 메소드입니다.
화면 처리할때, 자꾸 막혔는데 이걸 보고나서 한숨 돌렸습니다.

  • shouldAutorotateToInterfaceOrientation: -아이폰이 회전하면 뷰 컨트롤러가 자동으로 뷰를 회전시킬지를 결정한다. 만약 NO를 리턴하면 자동으로 회전이 이뤄지지 않는다. 세로형(Portrait)외의 다른 방향으로도 회전하게 하려면 이 메서드를 재정의해야 한다.
  • willRotateToInterfaceOrientation:duration: -아이폰이 회전함에 따라서 뷰 컨트롤러도 회전하게 되는데, 회전하기 바로 직전에 호출된다. 사용자 입력을 받지 못하게 하거나, 복잡한 연산이 필요한 그래픽 작업을 일시 중지시키기에 적합한 위치이다.
  • willAnimateFirstHalfOfRotationToInterfaceOrientation: /willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration: -두 단계에 걸쳐서 회전을 처리할 때 이 두 메서드를 재정의한다. 두 단계에 걸쳐서 각각 화면 확대율이나 상태를 다르게 하고 싶을 때 이용한다.
  • willAnimateRotationToInterfaceOrientation:duration: -두 단계 회전이 아닌 한 단계로 회전이 이루어지는 경우, 회전하기 전에 호출되는 메서드다. 회전할 때 추가적인 애이메이션이 필요한 경우, 여기에 내용을 작성한다.
  • didRotateFromInterfaceOrientation: -회전이 끝난 후에 호출된다. 


회전마다 호출되는 메서드에 전달되는 인자인 UIInterfaceOrientation은 아이폰이 어느 방향으로 회전되었는지를 알려준다.

  • Portrait: 일반적인 세로형
  • LandscapeRight : 왼쪽에 홈 버튼이 있는 상태
  • LandscapeLeft : 왼쪽에 마이크가 , 오른쪽에 홈 버튼이 있는 상태
  • PortraitUpsideDown : 세로형이지만 거꾸로 되어 있는 경우

출처 : http://blog.daum.net/jhcompany/15818986