為 iOS 7 設計的帶有毛玻璃效果的 UI 如何漸進支持舊版操作系統?

如果 App 在 iOS 7 中使用了 Accelerate 框架進行動態高斯模糊的處理,為了應用前端開發中的「漸進增強」思想,在舊版本操作系統中該如何設計/實現 UI?

我想到的幾種方案有:

* 使用 GPUImage 等第三方框架

* 使用預處理圖片,改變視圖動畫的方式,放棄支持動態模糊

* 使用半透明蒙版代替模糊

這個問題的目的是在保證性能的情況下,盡量保持 App 在不同操作系統上 UI 的一致性。相信有很多開發者都遇到了這個問題,希望各位能夠傳授經驗


半透明效果在 iOS7 原生支持,而且新系統份額在逐漸拉大,而舊系統不支持,投入很大,性能不好,份額還在萎縮。我建議不要浪費時間在 iOS6 上實現界面動態模糊的效果,據我所知也沒有哪家知名 App 在嘗試做。

最好是使用半透明無模糊,或不透明純色,這也是蘋果自己在低性能 iOS7 設備上使用的方案。

如果只是實現靜態的效果,那GPUImage 足以。要注意 iOS7 的毛玻璃不僅僅是模糊,還加了曝光調整和飽和度調整達到的。但是不能動的毛玻璃肯定失色很多。


推薦閱讀:

iOS 7 為什麼不加入關閉圖標壁紙動態效果的開關?
維護一套同時兼容 iOS 6 和 iOS 7,並且能夠自動適應兩個系統的 UI 風格的代碼,真實難度到底如何?
iOS 7 通知中心裡的未讀通知有什麼用?
iOS 7 支持 Wi-Fi Hotspot 2.0,這個特性有什麼用?
Google Android 的 Material Design 是否在與 iOS 7 趨同?

TAG:iOS應用 | iOS開發 | 用戶界面設計 | iOS7 | iOSDesign |