ios8 毛玻璃效果(UIVisualEffectView)

 

 

首先有这样4个类

UIVisualEffect

UIBlurEffect

UIVibrancyEffect

UIVisualEffectView

 

继承关系

UIVisualEffect : NSObject

 |—> UIBlurEffect 

 |—> UIVibrancyEffect

UIVisualEffectView : UIView

 

来自百度翻译(这样是学不好编程的)

Visual

视觉的(视力的); 

 

Blur

n. 污迹,污斑;   模糊不清的事物;   暧昧不明;  

vt.& vi. 涂污,弄脏;   (使)变模糊,(使)难以区分;  

 

Effec

n. 影响;   效果;   印象;   所有物;  

vt. 使发生;   引起;   产生(效果); 

 

Vibrancy

n. 振动;   振响;   活跃;   活力;  

 

初始化

typedef NS_ENUM(NSInteger, UIBlurEffectStyle) {
UIBlurEffectStyleExtraLight,//高亮的风格
UIBlurEffectStyleLight,//亮化的风格
UIBlurEffectStyleDark//暗化的风格
} ;

 

UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];

UIVisualEffectView *vise = [[UIVisualEffectView allocinitWithEffect:blur];

 

 然后这样
    UIImageView * view = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
    UIImage * img = [UIImage imageNamed:@"1.jpg"];
    UIVisualEffectView * effectView = [[UIVisualEffectView alloc]initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleExtraLight]];
    //设置虚化度
    effectView.alpha=1.0;
    effectView.frame=CGRectMake(0, 0, self.view.frame.size.width, 200);
    view.image=img;
    [view addSubview:effectView];
    [self.view addSubview:view];

结果是这样(现在还没有文字呢,后面的代码中会有)

 

还有一种样式

 

注意文字,这里是这样初始化的

1.

    UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
    
    UIVibrancyEffect *vibrancy = [UIVibrancyEffect effectForBlurEffect:blur];
    
    UIVisualEffectView *vise = [[UIVisualEffectView alloc] initWithEffect:vibrancy];

2. 你需要把标签添加到 contentView 上

[vise.contentView addSubview:lab];

 

UIBlurEffect是对整个背景进行虚化,UIVibrancyEffect是对添加的标签等附件进行背景虚化。注意,这些附件,必须加在UIVisualEffectView的contentView里,否则将不起任何作用。

 

 

 

转载于:https://www.cnblogs.com/kinghx/p/5322838.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值