7

私のビューの 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バブルアニメーションです。入力されたメッセージがバブルになり、その場所に飛んでいる間、進行状況バーはゆっくりと増加するはずです。

アニメーションなしで同じことを試すと、プログレスバーは正常に増加します。

4

2 に答える 2

1

プログレス バーのアニメーションをバブル アニメーションと同じアニメーションに配置してみてください。または、それらすべてをアニメーション グループに入れます。

于 2013-02-07T13:22:20.533 に答える