2014-12-17 4 views
0

나는 처음으로 스위프트를 어지럽히고 화면에 사각형이 있습니다. 사각형은 오른쪽으로 이동하여 시작합니다. 내가 그것을 두 드렸을 때 나는 위로 올라 가기를 원합니다. 나는 그것이 계속해서 오른쪽으로 계속되기를 원하지 않는다. 나는 그것이 바로 위로 가기를 바란다. 불행히도 물리학과 중력은 그것이 올라 가기 전에 좀 더 오른쪽으로 커브를 만듭니다. 중력을 새로운 값으로 설정하기 전에 대상의 중력 가속도와 가속도를 완전히 멈추게하려면 어떻게해야합니까?Swift에서 UIView 이동을 중지하려면 어떻게해야합니까?

개체가 올바른 방향으로 바뀌지 만,이 작업을 수행하기 전에 즉각적인 중지가 필요합니다.

if(self.gravity.gravityDirection.dx == 1){ 
self.gravity.gravityDirection = CGVectorMake(-1.0, 0.0) 
    } 

답변

1

동작에 의해 영향을받는 항목을 중지하는 방법은 동작에서 항목을 제거하거나 동작을 애니메이터에서 제거하는 것입니다. 예를 들어, 기존의 중력 동작에서 자아를 제거 할 수 있습니다.

+0

self.gravity.removeItem (self.squareView)을 시도한 다음 my if 문의 끝에 중력 = UIGravityBehavior (items : [self.squareView])를 추가했지만 그 결과 내 사각형이 느려지고 화면의 가장자리에 닿았을 때 완전히 멈 춥니 다. 아무런 변화도 없었습니다. – theostorm

+0

그건 단지 단어 일뿐입니다. 나는 네가하고있는 일이나 그것이 의미가 있는지를 모른다. 내가 제안한 것은 잘 작동한다. 요청한대로 움직이는보기가 구석을 예리하게 돌립니다. – matt

+0

다음은 영화가 작동 함을 보여주는 영화입니다. http://youtu.be/oUCtRNByMOI – matt

관련 문제