在 iOS8.0 之后,蘋果新增了一個(gè)類 UIVisualEffectView,通過這個(gè)類來實(shí)現(xiàn)毛玻璃效果效率非常之高,使用也是非常簡(jiǎn)單,幾行代碼搞定。
UIVisualEffectView 是一個(gè)抽象類,不能直接使用,需通過它下面的三個(gè)子類來實(shí)現(xiàn)(UIBlurEffect,UIVisualEffevt,UIVisualEffectView)。
特別注意: 這個(gè)類是 iOS8.0 之后才適用, 所以如果項(xiàng)目要兼容 iOS7.0 的話,還是要考慮其它的兩種方法了。
下面是代碼實(shí)現(xiàn):
同樣是先快速的實(shí)例化 UIBlurEffect 并設(shè)置毛玻璃的樣式,然后再通過 UIVisualEffectView 的構(gòu)造方法將 UIBlurEffect 的實(shí)例添加上去,最后設(shè)置 frame 或者是通過添加約束,將 effectView 添加到要實(shí)現(xiàn)了毛玻璃的效果的 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];
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。