这是模糊视图的最快方式 - 因为对于我的视图(图像的UICollectionView),它对于良好的用户体验来说太慢了 - 有关性能改进的提示,更好的方法吗?
我尝试在BeginImageContext方法(第三个变量)上改变比例,但性能几乎没有变化。
(import category on UIImage from Apple)
#UIImage+ImageEffects.h
- (UIImage*)blurViewToImage:(UIView *)view type:(int)type {
//0 -dark
//1 -light
//2 -extra light
UIGraphicsBeginImageContextWithOptions(view.frame.size, true, 0.0f);
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:false];
UIImage * snappy = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
switch (type) {
case 0:
return [snappy applyDarkEffect];
break;
case 1:
return [snappy applyLightEffect];
break;
case 2:
return [snappy applyExtraLightEffect];
break;
default:
break;
}
return nil;
}
答案 0 :(得分:1)
您可能需要查看this on StackOverflow
如果这不符合您的需要,请尝试调用该功能
- (UIImage*)blurViewToImage:(UIView *)view type:(int)type
在一个单独的线程中,因此您的UI保持可用:
[self performSelectorInBackground:(SEL) withObject:(id)]