2012-10-28 1 views
0

최근에 사용자가 회전시킬 수있는 뷰가있는 문제가 발생했습니다. 그러나 회전 중에는 10 % 커야합니다 (확대).뷰 변형 부분에 애니메이션을 적용하는 방법

제스처 인식기의 콜백에서 애니메이션을 설정하지 않았기 때문에 크기 조정이 애니메이션으로 표시되지만 회전이 즉시 표시되기를 바랍니다.

질문 :이 애니메이션되는 규모를 차단하지 않고 CGAffineTransform의 회전을 업데이트 할 수 있는가, 또는 대신 확장됩니다 랩핑 뷰를 작성 주위에 방법이 없다?

답변

1

편집 :

내가 생각하는 가장 오류가 발생하기 쉬운 방법이 될 것입니다 확장에 대한 래퍼보기.

필사적으로이를 피하려면 NSTimer를 사용하여 수동으로 스케일링 애니메이션을 만들 수 있습니다. 어쩌면 현재 변환 값을 먼저 쿼리 한 다음 독립적으로 생성 된 값 (회전 및 비율)으로 바꾸지 않고 수정하면 작동 할 수 있습니다.

암시 적 UIView 애니메이션은 처음부터 모든 후속 값을 계산하므로 회전이 엉망이라고 생각합니다.

크기 조정이 진행되는 동안 회전을 잠그는 또 다른 방법이 있습니다. 단점은 스케일링과 회전이 동시에 발생하지 않는다는 것입니다. 어쨌든 iVar 또는 속성을 만들면 rotationLocked라고 말하고 sth를 수행합니다. like :

+0

아이디어는 좋지만 사용자가보기를 회전 시키길 원하지만 ** 확대하는 동안 –

+0

내 대답을 편집했습니다. 도움이 될 수도 있습니다. – Tobi

+0

답변을 편집하여 불가능하다고 말하면서 나중에 답변에서 rotationLocked를 제안 할 수 있습니까? 난 당신이 처음 몇 줄을 읽으면 매우 정확한 답변을 받아들이 길 원합니다. –