2010-08-02 2 views
1

내 응용 프로그램에서 대부분의 UIView 기반 애니메이션이 꽤 있습니다. 모든 기기 회전을 처리 할 수 ​​있기를 원하지만 이미 애니메이션이 진행 중일 때 기기 회전을 트리거하면 항상 성능이 저하됩니다.장치 회전 중 진행중인 UIView- 애니메이션 처리

이런 경우 가장 좋은 방법은 무엇일까요?

장치 회전이있을 때 모든 애니메이션 인스턴스를 마지막 프레임으로 건너 뛰기 위해 모든 UIView 요소를 서브 클래스할까요? 또는 애니메이션이있을 때 기기 회전을 비활성화할까요? (나쁜 생각 인 것 같습니다.)

당신의 생각을 기다리십시오. 감사. :)

답변

0

회전하기 전에 값 비싼 애니메이션을 비활성화하고 회전이 완료된 후 다시 활성화 할 수 있습니다. 자세한 내용은 설명서의 UIViewController의 willRotateToInterfaceOrientation:duration:didRotateFromInterfaceOrientation: 메서드를 참조하십시오.

+0

감사합니다. 계속 하시겠습니까? 애니메이션을 비활성화/다시 활성화하는 가장 일반적인 방법은 무엇입니까? UIView의 setAnimationsEnabled : 시도했지만 회전 전환 애니메이션을 제거합니다. CALayer를 사용하여 케이스별로 처리해야합니까? :) – Liz

+0

죄송합니다. 실제로 CALayer 애니메이션을 사용해야 할 수도 있습니다. – Vladimir