ios毛玻璃效果

ios实现磨玻璃在各个系统上都有所不同,新系统总会有比旧系统更好的方式去实现毛玻璃

iOS 6及以下系统,可以生成一张模糊效果的图片实现
//生成一张毛玻璃图片

  • (UIImage)blur:(UIImage)theImage

{

CIContext *context = [CIContext contextWithOptions:nil];

CIImage *inputImage = [CIImage imageWithCGImage:theImage.CGImage];

CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"];

[filter setValue:inputImage forKey:kCIInputImageKey];

[filter setValue:[NSNumber numberWithFloat:6.0f] forKey:@"inputRadius"];//模糊度

CIImage *result = [filter valueForKey:kCIOutputImageKey];

CGImageRef cgImage = [context createCGImage:result fromRect:[inputImage extent]];

UIImage *returnImage = [UIImage imageWithCGImage:cgImage];

CGImageRelease(cgImage);

return returnImage;

}

iOS 7可以用uitoolbar实现毛玻璃效果,代码如下:

UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:self.view.bounds];

toolBar.barStyle = UIBarStyleBlackTranslucent;

[toolBar setBackgroundImage:self.image.image forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefaultPrompt];

 [self.view addSubview:toolBar];

然而iOS 8有了更好的api UIVisualEffectView

UIVisualEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];

UIVisualEffectView *visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];

visualEffectView.frame = self.image.bounds;

visualEffectView.alpha = 0.7;//模糊程度

        [self.image addSubview:visualEffectView];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在ios开发过程中,为了界面的美观,我们往往需要对一个图片进行模糊化处理,有一种朦胧美得感觉,就是所谓的毛玻璃效果...
    鲲鹏DP阅读 27,833评论 9 55
  • 在很早之前就看到了「微信读书」上的个人页面,初次见这个毛玻璃效果就让我吃了一🐳。背景是用头像的图片虚化,让人看到这...
    随意_M阅读 888评论 0 7
  • 一.UIToolBar iOS7 及之前的版本可以使用UIToolBar 快速定义自己的毛玻璃效果 二.UIVis...
    Krien阅读 10,414评论 0 4
  • 1.创建一个 UIToolbar 实例,设置它的 frame 或者也可以通过添加约束,然后 UIToolbar 有...
    米饭TT阅读 570评论 0 0
  • 星期八小镇48阅读 210评论 0 1