您還需要設置陰影不透明度,它默認爲0,如果沒有明確設置,則不會看到任何內容。
CALayer Reference
cell.layer.shadowOffset = CGSizeMake(1, 0);
cell.layer.shadowColor = [[UIColor blackColor] CGColor];
cell.layer.shadowRadius = 5;
cell.layer.shadowOpacity = .25;
另外要注意的是,如果你不設置陰影的路徑,你將會對iPhone/iPad的可怕表現。使用類似下面的代碼來設置陰影路徑,它不需要模糊tableviewcell下面的圖層來創建「高質量」陰影。
CGRect shadowFrame = cell.layer.bounds;
CGPathRef shadowPath = [UIBezierPath bezierPathWithRect:shadowFrame].CGPath;
cell.layer.shadowPath = shadowPath;
觀看視頻425(也424和426),詳細瞭解陰影從現有的WWDC 2010的視頻在這裏:WWDC 2010 Session Videos
這個對我來說非常合適,而不像許多其他解決方案所暗示的那樣增加一個額外的單元。同樣,如果你的單元格被重用,你需要取消它,因爲我只希望這是表格中的最後一個單元格。 – Openside 2011-11-02 11:47:52
性能祕訣是一個巨大的幫助 - 沒有陰影路徑表格單元格時,他們幻燈片真的波濤洶涌。設置shadowPath有點不明顯,並沒有真正出現在我能找到的任何文檔中。 – 2012-05-23 17:17:54
如果我在tableView中放置陰影,而不是在單元格中滾動tableview的邊界時發生變化。如何更新shadowPath以匹配? – 2012-05-24 15:47:31