Translate

bloggerads內文

2017年4月16日 星期日

IOS 將View高斯模糊化效果

View背景模糊化通常我們會看到在資料讀取時,即跳轉下一個VC時,但背景又要保持前個VC的view 模糊樣子,稍微介紹一下.



範例程式碼:
在iOS8.0之後,蘋果新增了一個類UIVisualEffectView,通過這個類來實現背景模糊效果UIToolbar實現的效果一樣,而且效率也非常高,使用簡單,幾行代碼就可以輕鬆搞定. UIVisualEffectView是一個抽像類,不能直接使用,需通過它下面的三個子類來實現(UIBlurEffect, UIVisualEffevt, UIVisualEffectView);
子類UIBlurEffect只有一個類方法,用來快速創建一個背景模糊效果,參數是一個枚舉,用來設置背景模糊的樣式,
而UIVisualEffectView則多了兩個屬性和兩個構造方法,用來快速將創建的背景模糊添加到這個UIVisualEffectView上.

特別注意: 這個類是iOS8.0之後才適用,下面就實現背景模糊效果的方法:
 
UIImageView *bgImgView = [[UIImageView alloc] initWithFrame:self.view.bounds];
bgImgView.image = [UIImage imageNamed:@"logo.png"];
bgImgView.contentMode = UIViewContentModeScaleAspectFill;
bgImgView.userInteractionEnabled = YES;
[self.view addSubview:bgImgView];
/*
背景模糊的樣式
UIBlurEffectStyleExtraLight,
UIBlurEffectStyleLight,
UIBlurEffectStyleDark
*/
UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:effect];
effectView.frame = CGRectMake(0, 0, bgImgView.frame.size.width, bgImgView.frame.size.height);
[bgImgView addSubview:effectView];


沒有留言:

張貼留言