1

我有一个在 TouchUpInside 和 TouchUpOutside 上的滑块,调用方法 blurPhoto

- (IBAction)blurPhoto:(id)sender {

    //perform CPU intense blur

     //fade blured image back in
     [UIView transitionWithView: mImageView
                  duration:0.9f
                   options:UIViewAnimationOptionTransitionCrossDissolve
                animations:^{
                    mImageView.image = completedBlur;
                } completion:NULL];
}

但是,直到模糊完成(大约需要 1-2 秒)之后,滑块才会完成最终渲染,从而导致滑块跳动和粘滞,用户体验不佳。在调用此函数之前,如何确保滑块已在其最终位置完成渲染?

编辑:我也尝试过使用 ValueChanged(连续:否),它仍然具有相同的效果。

4

1 回答 1

2

您可以使用在单独线程中执行的函数来调用动画。线程选项是 NSThread 和 GDC。目前,UI 被阻塞,因为主线程正忙于执行请求的动画(函数),因此一旦函数完全执行,UI 就会更新。

于 2013-09-17T05:32:27.920 回答