長押しのジェスチャーでアニメーションフレームサイズのUIViewがあります。元のサイズ( - 100 heigh)にtap_end減少の最大サイズ(heigh + 100)へtap_beginフレームの高さの増加にUIViewアニメーションのやりとり
- (IBAction)longPressGesture:(id)sender {
NSTimeInterval duration = 1;
CGRect newFrame = self.view.frame;
switch (((UIGestureRecognizer *)sender).state) {
case UIGestureRecognizerStateBegan:
newFrame.size.height += 100;
break;
case UIGestureRecognizerStateEnded:
newFrame.size.height -= 100;
break;
default:
break;
}
[UIView animateWithDuration:duration animations:^{
self.view.frame = newFrame;
}];
}
。問題は、タップして、フレームが伸び始めた後、成長している間に指を離し、2番目のアニメーションが現在の状態からではなく、大きなフレームから開始することです。 (フレームの高さが250である場合)
例えばフレームは高さ200から300へとアニメーションの途中でアニメーションを開始するために
私は、指とフレームの高さは、直ちに300に設定解除し、200どのように減少し始めます最初のアニメーションを中断し、curentの高さ(たとえば250)から2番目の部分を開始できる動作を実装しますか?
最初のアニメーションが最初に完了しなければならない動作で、2番目のアニメーションを開始した後でのみ動作しますか?
素晴らしい!ありがとうございました! – Lloyd18