為 iOS 7 設計的帶有毛玻璃效果的 UI 如何漸進支持舊版操作系統?
01-04
如果 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 趨同?