2014-04-17 125 views
-2

我正在嘗試將模糊效果添加到背景視圖。iOS,如何將模糊效果添加到背景視圖?

這是我的背景視圖。 https://github.com/martinjuhasz/MJPopupViewController/blob/master/Source/MJPopupBackgroundView.m

我認爲這個想法是拍攝父視圖的快照,然後爲該圖像添加模糊效果。

我見過各種方法不知道什麼會工作,什麼是最好的方法。

另外,我不確定在哪裏創建快照。

+1

可能重複的[iOS 7風格模糊視圖](http://stackoverflow.com/questions/17036655/ios-7-style-blur-view) –

回答

1

最常見的方式可能只是拍攝快照並模糊處理。

+ (UIImage *) imageWithView:(UIView *)view 
{ 
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0f); 
    [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:NO]; 
    UIImage * snapshotImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return snapshotImage; 
} 

請記住,這是一個快速iOS7 +模糊方法,所以如果你想支持較低版本的iOS,您將需要使用較慢的方法:

你可以做這樣的事情拍攝快照,detailed in this answer

有很多的方式來實現模糊,2個最流行的可能是使用蘋果的WWDC UIImageEffects示例代碼can be found here,或者使用GPUImage,這can be found here

+0

謝謝,我會在哪裏/調用該功能? – Jules

+0

你可以把它放在任何你想要的地方(最有可能的地方是'UIImage'類別)。當你想獲得某個視圖的快照時(可能是當你要在其上放置一個疊加層時),你可以調用它。 – Dima