我在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(连续:NO),它仍然具有相同的效果。
答案 0 :(得分:2)
您可以使用在单独的线程中执行的函数来调用动画。线程选项是NSThread和GDC。目前,当主线程忙于执行所请求的动画(功能)时,UI被阻止,因此一旦完全执行该功能,UI就会被更新。