2012-04-30 221 views
18

這是我的代碼。UIView陰影不起作用

listView.layer.masksToBounds = NO; 
listView.layer.shadowOffset = CGSizeMake(-3, 3); 
listView.layer.shadowColor=[[UIColor blackColor] CGColor]; 
listView.layer.shadowRadius = 4; 
listView.layer.shadowOpacity = 1.0; 
[listView.layer setShouldRasterize:YES]; 

它的陰影效果很好。

雖然改變

listView.layer.masksToBounds = YES; 

我沒有得到陰影效果。

+0

'listView'是一個UIView –

回答

16

陰影繪製在圖層邊界之外。你必須設置listView.layer.masksToBounds = NO看到陰影

如果設置listView.layer.masksToBounds = YES你不能得出任何越界的側面,所以你不能讓陰影

+0

這是最有幫助的。謝謝 –

1

如果您必須使用masksToBounds = YES;請檢查this SO post。它通過使用兩個嵌套視圖告訴你如何在視圖上使用陰影和圓角(在這種情況下):外部視圖投射陰影並且不會遮住邊界,而內部視圖具有圓角和遮罩到邊界。