2009-10-12 5 views
3

내 프로그램에서보기의 가운데 속성에 애니메이션을 적용하고 있습니다. 애니메이션 중에 센터가 특정 값에 도달하면 알림이 필요합니다.키 값 UIView 애니메이션 중 관찰

보기의 가운데 속성에 대한 핵심 가치 관찰자로 본인을 추가하려고 시도했습니다. 그러나 애니메이션이 시작될 때만 알립니다. 따라서 대상이 내 관심 지점을 통과하는지 여부를 감지 할 수 없습니다.

KVO 또는 다른 방법을 통해이를 수행 할 수있는 방법이 있습니까?

감사합니다.

답변

6

프리젠 테이션 계층에 액세스하여 UIView의 애니메이션 레이어의 현재 상태를 나타내는 값을 검색 할 수 있습니다. 이것은 다음과 같은 코드를 사용하여 수행 할 수있는 작업은 다음과 같습니다

CGPoint currentCenter = [[view.layer presentationLayer] center]; 

불행하게도, 프리젠 테이션 계층의 속성은 KVO 호환되지 않습니다, 그래서 현재의 값을 추적 생각할 수있는 가장 좋은 방법은 될 때까지 폴링에게 프리젠 테이션 레이어를 유지하는 것입니다 원하는 위치 근처에 도착합니다.

+0

나를 알려 주셔서 감사합니다! 나는 내 코드에서 어떻게 속성을 수동으로 관찰 할 수 있는지 알아 내려고 노력할 것이다. – infiniteloop