2014-10-14 2 views
1

UIDynamicAnimatorUIPushBehaviour이 있습니다. UIView 개체가 initWithReferenceView 인 동적 개체가 될 수 있음을 알고 있습니다. 그러나 동적 객체가 UIImageView 일 수 있습니다. 그렇다면 어떻게?동적 객체를 UIImageView로 할 수 있습니까

+0

이미지 뷰는 'UIView' 객체와 마찬가지로'UIView '와 마찬가지로'UIDynamicItem' 프로토콜을 준수합니다. 그래서'UIView '를 넣을 곳에'UIImageView'를 사용하십시오. 그냥 작동합니다. – Rob

답변

2

아무것도 이제까지 "동적 객체가됩니다 없습니다."

(필자는 애플 개발자 문서를 읽고,이 바보 경우 정말 저를 UIDynamicAnimator 개념을 파악, 그래서 용서 할 수 없습니다) 그것에 대해 생각하는 방법이 아닙니다. 다이나믹 애니메이터에는 동작이 있습니다. 비헤이비어에는 항목이 있습니다. 보기는 항목이 될 수 있습니다. 따라서 UIDynamicAnimatorUIImageView을 움직일 수 있습니다. 보기에는 애니메이션이 적용되고 있다는 생각이 없습니다. 그것은 단지 setCenter:을 반복적으로 호출합니다 (아래 @rob 노트와 마찬가지로 setTransform:bounds). 이미지보기와 다른 종류의보기 간에는 차이점이 없습니다.

이해해야 할 핵심은 UIKit Dynamics가 완전히 거꾸로 있다는 것입니다. UIView 애니메이션 및 Core Animation에서는보기가 애니메이션에 매우 밀접하게 관련되어 있습니다. 뷰를 애니메이션에 추가하고 추가 및 제거하는 등의 작업을 수행 할 수 있습니다. 그러나 UIKit Dynamics는 뷰 외부에서 붙어서 완전히 작동합니다. 뷰가 UIKit Dynamics에 의해 관리되고 있는지 조회 할 수는 없습니다. 당신은 UIKit Dynamics에게 그것이 어수선한 어떤 견해만을 요구할 수 있습니다.

내 경험에 비추어 볼 때 UIKit Dynamics는 애니메이션이 매우 간단 할 경우 합리적으로 작동 할 수 있습니다. 그러나 모든 것이 복잡하다면 Core Animation (또는 SpriteKit, 필요에 따라)을 사용하여 직접해야 할 것입니다. 거기에 대한 문서도 거의 없습니다. 아, 그리고 다양한 행동에는 매우 모순 된 API가 있습니다. 그것은 코코아에서 내가 좋아하는 프레임 워크가 아니에요 ...

이 예제를 보시려면, iOS 7의 샘플 코드를 내려 받으십시오 : PTL (iosptl.com) Chapter 19. 여기에는 푸시 애니메이터를 뷰에 배치하는 것도 포함됩니다.

관련 문제