美文网首页图文/图像处理
iOS 毛玻璃效果快速实现

iOS 毛玻璃效果快速实现

作者: HaoyuiOS | 来源:发表于2021-05-06 09:48 被阅读0次
    在 iOS8.0 之后,苹果新增了一个类 UIVisualEffectView,通过这个类来实现毛玻璃效果效率非常之高,使用也是非常简单,几行代码搞定。
    UIVisualEffectView 是一个抽象类,不能直接使用,需通过它下面的三个子类来实现(UIBlurEffect,UIVisualEffevt,UIVisualEffectView)。
    特别注意: 这个类是 iOS8.0 之后才适用, 所以如果项目要兼容 iOS7.0 的话,还是要考虑其它的两种方法了。
    下面是代码实现:
    同样是先快速的实例化 UIBlurEffect 并设置毛玻璃的样式,然后再通过 UIVisualEffectView 的构造方法将 UIBlurEffect 的实例添加上去,最后设置 frame 或者是通过添加约束,将 effectView 添加到要实现了毛玻璃的效果的 view 控件上。
    /*
     毛玻璃的样式(枚举)
     UIBlurEffectStyleExtraLight,
     UIBlurEffectStyleLight,
     UIBlurEffectStyleDark
     */
    UIImageView *bgImgView = [[UIImageView alloc] initWithFrame:self.view.bounds];
    bgImgView.image = [UIImage imageNamed:@"huoying.jpg"];
    [self.view addSubview:bgImgView];
      
    UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
    UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:effect];
    effectView.frame = CGRectMake(0, 0, bgImgView.frame.size.width * 0.5, bgImgView.frame.size.height);
    [bgImgView addSubview:effectView];

    相关文章

      网友评论

        本文标题:iOS 毛玻璃效果快速实现

        本文链接:https://www.haomeiwen.com/subject/bnvrdltx.html