翻譯自:https://markpospesel.wordpress.com/2012/04/03/on-the-importance-of-setting-shadowpath/
這是超級容易添加陰影到iOS中的任何視圖肄方。所有您需要做的是
添加QuartzCore框架到項目中(如果不存在的話)
導入QuartzCore到您的執(zhí)行文件
添加一行如[myView.layer setShadowOpacity:0.5]
瞧,你的看法現(xiàn)在有一個陰影。
然而,這種最簡單的添加陰影的方法在性能上卻不是最佳途徑。如果對這個添加陰影的View(如果它是一個UITableViewCell的一部分)做一些動畫缀去,您可能會注意到在動畫不是很流暢,有卡頓。這是因為計算陰影需要Core Animation做一個離屏渲染欢搜,以View準確的形狀確定清楚如何呈現(xiàn)其陰影。
要說服自己這一點谴轮,打開在模擬器的調(diào)試菜單的顏色屏幕外渲染的選項炒瘟。
另外,針對一個物理設備上第步,啟動儀器(?I)疮装,選擇核心動畫模板,選擇核心動畫儀器粘都,并檢查彩色屏幕外渲染的黃色選項廓推。
然后在模擬器(或您的設備上),你會看到這樣的事情:
這表明東西(在我們的情況下翩隧,陰影)受啥,花費更多的時間在離屏渲染。
只要你提前告訴CoreAnimation你要渲染的View的形狀Shape,就會減少離屏渲染計算
[myView.layer setShadowPath:[[UIBezierPathbezierPathWithRect:myView.bounds] CGPath];
加上這行代碼鸽心,就減少離屏渲染時間滚局,大大提高了性能