使用iOS 8 SDK新增毛玻璃(Blur)效果
蘋果在iOS 7中將介面改為扁平化,並大量使用了毛玻璃效果,下圖所示為控制中心的毛玻璃效果。
但是iOS 7 SDK本身並未向開發者公開提供毛玻璃效果的API,因此開發者只能去自己實現毛玻璃效果或者找第三方類庫解決。而現在,iOS 8 SDK中直接提供了UIBlurEffect類與UIVisualEffectView類,可以實現毛玻璃效果。這兩個類的使用方法非常簡單,步驟是:
1. 建立UIBlurEffect類的例項,並指定某一種毛玻璃效果。
2. 建立UIVisualEffectView類的例項,將步驟1中的UIBlurEffect類的例項應用到UIVisualEffectView類的例項上。
3. 將UIVisualEffectView類的例項置於待毛玻璃化的檢視之上即可。
下面以一個簡單的例子來演示,效果如下圖所示。
首先建立一個新的專案,在專案中隨便新增一個圖片檔案。在Main.storyboard中拖入一個UIImageView,設定其內容為剛加入的圖片。為了實現毛玻璃效果,我們需要在此UIImageView的上方放置一個UIVisualEffectView。在Xcode的Object Library中找到Visual Effect View with Blur。
這裡Visual Effect View with Blur就是一個UIVisualEffectView的例項,注意到UIVisualEffectView繼承自UIView,因此它就是一個檢視,可以直接拖拽到介面中。
所有位於UIVisualEffectView下方的檢視,以及UIVisualEffectView的contentView中的檢視會被毛玻璃化。
值得一提的是,如果位於下方的檢視的內容是動態的,那麼毛玻璃效果也會跟隨動畫發生變化。我們可以給上面的UIImageView新增動畫:
override func viewWillAppear(animated: Bool) {
leadingCons.constant = 0
UIView.animateWithDuration(5.0, animations: { () -> Void in
self.leadingCons.constant = 200
self.imageView.layoutIfNeeded()
})
}
上面的程式碼會讓UIImageView向右移動,執行後可以看到毛玻璃檢視的內容也會跟隨發生變化。
如果需要用程式碼實現毛玻璃效果,則程式碼為:
override func viewDidLoad() {
super.viewDidLoad()
let blurEffect = UIBlurEffect(style: .Light)
let blurView = UIVisualEffectView(effect: blurEffect)
view.addSubview(blurView)
}
其中UIBlurEffect構造方法中需要傳入UIBlurEffectStyle列舉引數:
enum UIBlurEffectStyle : Int {
case ExtraLight
case Light
case Dark
}
專案程式碼:
最後需要注意的是,UIBlurEffect類與UIVisualEffectView類只適用於iOS 8 SDK,因此如果你的app需要在iOS 7系統上執行的話,還需要另想辦法哦。相關文章
- IOS8模糊毛玻璃的效果UIVisualEffectViewiOSUIView
- 鄭州iOS·點-毛玻璃效果iOS
- 毛玻璃效果
- 使用Glide快速實現毛玻璃效果IDE
- 純CSS 毛玻璃效果CSS
- CSS:遮罩效果、陰影效果、毛玻璃效果CSS遮罩
- 用ps做毛玻璃穿透效果穿透
- Pixel Film Studios - FCPX Motion Blur for Mac(運動模糊效果fcpx外掛)iOSMac
- iOS 視訊新增濾鏡效果iOS
- css毛玻璃效果(外加background屬性)CSS
- Android 毛玻璃效果的實現Android
- 使用CSS3製作導航條和毛玻璃效果CSSS3
- 為七牛iOS SDK新增ALAsset上傳支援iOS
- 毛玻璃效果在Android的實現Android
- 如何優雅的使用Xcode8或iOS10 SDKXCodeiOS
- CSS 奇思妙想 | 全相容的毛玻璃效果CSS
- 直播平臺原始碼,用CSS製作毛玻璃效果(高斯模糊效果)原始碼CSS
- iOS 高效新增圓角效果實戰講解iOS
- OpenCV(iOS)平滑處理(模糊,毛玻璃)(10)OpenCViOS
- 美膩!Visual Studio Code 介面毛玻璃效果!
- iOS 8漏洞讓Twitter損失了400萬新增使用者iOS
- 影像模糊工具:Photo Blur FX - Image Blur for MacMac
- css3實現的毛玻璃效果程式碼例項CSSS3
- JavaScript blur 事件JavaScript事件
- javascript blur事件JavaScript事件
- jQuery blur事件jQuery事件
- iOS使用Category新增@property變數iOSGo變數
- iOS開發使用半透明模糊效果iOS
- iOS 開發使用半透明模糊效果iOS
- 逆向iOS SDK -- _UIImageAtPath 的實現(SDK 6.1)iOSUI
- iOS 9中使用手Q支付SDK須知iOS
- iOS sdk打包知識iOS
- 2020 blur()和onblur的使用區別
- 手把手帶你使用JS-SDK自定義微信分享效果JS
- react 中的blur事件React事件
- JS新增標籤效果JS
- iOS 8 beta 2釋出:新增來電歸屬地功能iOS
- Xamarin.iOS除錯提示需要iOS SDKiOS除錯