首先有這樣4個類編程
UIVisualEffectspa
UIBlurEffect翻譯
UIVibrancyEffectcode
UIVisualEffectViewblog
繼承關係繼承
UIVisualEffect : NSObjectit
|—> UIBlurEffect class
|—> UIVibrancyEffect百度
UIVisualEffectView : UIViewim
來自百度翻譯(這樣是學很差編程的)
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 alloc] initWithEffect: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裏,不然將不起任何做用。