在我的一个观点中,我需要为 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 气泡动画。当输入的消息变成气泡并飞到它的位置时,进度条应该缓慢增加。
如果我在没有动画进度条增量正常的情况下尝试相同的操作。