私のビューの 1 つで、UIImageView のフレーム プロパティをアニメーション化する必要があります。それを行っている間、ナビゲーション バーのタイトル ビューにプログレス バー (UIProgressView) を表示したいと考えています。問題は、次のアニメーション ブロックをコメント アウトすると、プログレスバーは予想通りスムーズに更新されます。 一方、次のアニメーションにより、プログレスバーはいくつかの場所で停止し、再び増加します。
//add message bubble
[UIView animateWithDuration:0.3
delay:0
options:UIViewAnimationOptionAllowUserInteraction
animations:^
{
animationBubbleImageView.alpha = 1;
}
completion:^(BOOL finished)
{
[self removeAutoCorrectionAndHighlight];
[UIView animateWithDuration:0.3
delay:0
options:UIViewAnimationOptionAllowUserInteraction
animations:^
{
CGRect bubbleFrame = CGRectMake(animationBubbleImageView.frame.origin.x,
animationBubbleImageView.frame.origin.y,
bubbleSize.width,
bubbleSize.height);
[animationBubbleImageView setFrame:bubbleFrame];
messageLabel.alpha = 1;
}
completion:^(BOOL finished)
{
[self sendSubviewToBack:textView];
[self.delegate moveBubbleToTableCell];
}];
}];
アニメーション ブロックはメイン スレッドをブロックしませんが、プログレス ビューの動作が滑らかでない理由は何でしょうか?
更新:私が達成したいのは、IOSのMessagesAppバブルアニメーションです。入力されたメッセージがバブルになり、その場所に飛んでいる間、進行状況バーはゆっくりと増加するはずです。
アニメーションなしで同じことを試すと、プログレスバーは正常に増加します。