iOS程式猿之毛玻璃效果

2021-07-10 18:02:35 字數 2451 閱讀 4889

1.ui*******

蘋果在ios7.0之後,很多系統介面都使用了毛玻璃效果,增加了介面的美觀性,比如通知中心介面;其實在ios7.0(包括)之前還是有系統的類可以實現毛玻璃效果的, 就是 ui*******這個類

ios7.0 

毛玻璃的樣式(列舉)

在ios8.0之後,蘋果新增了乙個類uivisualeffectview,通過這個類來實現毛玻璃效果與上面的ui*******一樣,而且效率也非常之高,使用也是非常簡單,幾行**搞定. uivisualeffectview是乙個抽象類,不能直接使用,需通過它下面的三個子類來實現(uiblureffect, uivisualeffevt, uivisualeffectview);

子類uiblureffect只有乙個類方法,用來快速建立乙個毛玻璃效果,引數是乙個列舉,用來設定毛玻璃的樣式,而uivisualeffectview則多了兩個屬性和兩個構造方法,用來快速將建立的毛玻璃新增到這個uivisualeffectview上.

特別注意: 這個類是ios8.0之後才適用, 所以如果專案要相容ios7.0的話, 還是要考慮其它的方法了.

ios8.0 

毛玻璃的樣式(列舉)

uiblureffectstyleextralight,

uiblureffectstylelight,

uiblureffectstyledark

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];

3.coreimage:

ios5.0之後就出現了core image的api,core image的api被放在coreimage.framework庫中, 在ios和os x平台上,core image都提供了大量的濾鏡(filter),在os x上有120多種filter,而在ios上也有90多。

+(uiimage *)coreblurimage:(uiimage *)image withblurnumber:(cgfloat)blur 

4.gpuimage (第三方)

除了蘋果官方提供的之外,第三方也有這方面處理的工具。乙個叫brad larson的老兄就搞了一套叫做gpuimage的開源庫。同樣的,裡面提供了很多filter。

gpuimagegaussianblurfilter * blurfilter = [[gpuimagegaussianblurfilter alloc] init];

blurfilter.blurradiusinpixels = 2.0;

uiimage * image = [uiimage imagenamed:@"***"];

uiimage *blurredimage = [blurfilter imagebyfilteringimage:image];

IOS毛玻璃效果

最近實習公司的ios專案中需要用到毛玻璃的效果 如下圖效果 嘗試用了幾個方法都不太滿意,最後終於找到了乙個比較好的解決方案。在ios8以上的機器中,我們可以利ios sdk中已經提供了的uiblureffect和uivisualview實現簡單毛玻璃的效果。實現的方法如下 其中visualeffec...

iOS 毛玻璃效果

注 新增毛玻璃的view要clearcolor,其他顏色會效果不明顯 分享兩種毛玻璃效果設定的方法,不需要任何三方東東,先看效果 原圖 方法一 ios8系統方法 方法二 下面是示例 objc view plain copy import viewcontroller.h inte ce viewco...

iOS開發中毛玻璃效果

毛玻璃 的ui 設計在手機開發中已經 非常熱門,在之前的 開發中 一般用到 github上fxblurview 封裝好的乙個view類 可以直接應用載入到控制項中,ios 8 後更新的 uiblureffect 類和 uivisualeffectview 類使這種特效應用更加便捷,高效。使用也非常簡...