2014-02-24 5 views
0

UIKit 다이나믹스에 대해 살펴 보았습니다. 사용자 정의으로 UIView를 만들고 싶다면 (예를 들어 삼각형을 그려야한다고 가정 해 보겠습니다.) UICollisionBehavior에 사용될 UIView (또는 오히려 UIDynamicItem)의 경로를 지정할 방법이없는 것 같습니다.직사각형이 아닌 UIDynamicItem

내 목표는 화면에 정확히 무엇이 예상되는지 서로 충돌하는 폴리곤을 갖는 것입니다.

나는 여러보기를 함께 묶는 해결책을 생각해 냈지만 이것이 내가 원하는 것에 과도한 것처럼 보입니다.

몇 가지 쉬운 방법이 있나요? 아니면 실제로 함께보기를 스티치해야합니까?

답변

1

이 주제에 대한 WWDC 2013 비디오보기. 그것들은 매우 명확합니다 : 효율성과 속도를 위해서, 충돌하는 동안 뷰의 (직사각형) 경계 만이 중요합니다.

EDIT iOS 9에서는 동적 항목이 맞춤 충돌 경계를 가질 수 있습니다. 프레임에 의해 지정된 사각형, 프레임에 의해 지정된 타원 또는 사용자 정의 모양을 가질 수 있습니다. 반 시계 방향으로 볼록한 간단한 UIBezierPath를 닫을 수 있습니다. 관련 속성 인 collisionBoundsType 및 (사용자 정의 모양의 경우) collisionBoundingPath은 읽기 전용이므로이를 설정하기 위해 하위 클래스를 만들어야합니다.

+0

귀하의 해결 방법은 독창적 인 방법입니다. – matt

+0

방금 ​​첫 번째 비디오를 보면서이 비디오를 보았지만 그 비디오를 보지 못했습니다.하지만 여전히 두 번째 비디오 (고급 다이나믹)가있어 볼 수 있습니다. 나는 바느질을해야 겠어! – DanZimm

+0

iOS 9가이 기능을 추가했습니다. – WMios

0

폴리곤을 실제로 충돌 시키려면 SpriteKit 및 해당 물리 엔진을 고려할 수 있습니다 (UIDynamics와 공통점이 많습니다). UIKit과 혼합 할 수 있지만, 원하는만큼 원활하지 않을 수 있습니다.