는이 코드가 있습니다필요한 경우 UIView 애니메이션을 중지하는 방법은 무엇입니까?
-(void)animationLoop{
CGPoint oldPoint = CGPointMake(myCircleUIView.frame.origin.x, myCircleUIView.frame.origin.y);
[UIView animateWithDuration:1.0
animations: ^{ myCircleUIView.frame = CGRectMake(myCircleUIView.frame.origin.x + [self randomFloatingGenerator], myCircleUIView.frame.origin.y + [self randomFloatingGenerator], myCircleUIView.frame.size.width, myCircleUIView.frame.size.height); }
completion:
^(BOOL finished) {
[UIView animateWithDuration:1.0
animations:^{ myCircleUIView.frame = CGRectMake(oldPoint.x, oldPoint.y, myCircleUIView.frame.size.width, myCircleUIView.frame.size.height);}
completion:
^(BOOL finished) {[self animationLoop];}];
}];
}
을하지만, 어떤 제안을 내가와 상호 작용 애니메이션을 중지하려고하지만, [myCircleUIView.layer removeAllAnimations];
이 일을하지 않습니다?
애니메이션을 중지하려면
을 설정! – Shamy
애니메이션 블록에서 셀프 사용주기가 유지됩니까? 동일한 클래스에서 참조 된 큐가 강한 블록과 함께 self를 사용하면 사이클이라는 것을 알고 있습니다. 그러나 UIView의 애니메이션 메서드가 클래스 수준 메서드 인 경우 해당 참조주기가 없어야합니다. (나는 그것이 나의 이해에 도전하기 때문에 묻는다. 내가 당신을 반증하려고 노력하고 있기 때문에). – Freddy
좋은 질문인데, 그 이유는 알지 못했지만 모두들 생각했기 때문에 나는 묻지 않았다. : – Shamy