[objective-c]改进模糊性能 iOS7/8

标签: ios Objective-C
发布时间: 2016/10/2 12:03:42
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

这是最快捷的方式来模糊视图-因为我的观点 (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;
}

解决方法 1:

你可能想要看看这个在计算器上

如果这不适合您的需要尝试调用的函数

- (UIImage*)blurViewToImage:(UIView *)view type:(int)type

在一个单独的线程,因此您的 UI 保持可用︰

[self performSelectorInBackground:(SEL) withObject:(id)]
官方微信
官方QQ群
31647020