2012-04-30 44 views
18

Đây là mã của tôi.Bóng UIView không hoạt động

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]; 

Nó hoạt động tốt với hiệu ứng đổ bóng.

Trong khi thay đổi

listView.layer.masksToBounds = YES; 

tôi didnt có được bóng có hiệu lực.

+0

'listView' là UIView –

Trả lời

16

Bóng được vẽ bên ngoài giới hạn của lớp. Bạn phải thiết lập listView.layer.masksToBounds = NO để xem bóng

nếu bạn thiết lập listView.layer.masksToBounds = YES bạn không thể rút ra bất cứ điều gì ra bên giới hạn nên bạn không thể nhận bóng

+0

điều này hữu ích nhất. Cảm ơn –

1

Nếu bạn phải sử dụng masksToBounds = YES; hãy kiểm tra this SO post. Nó cho bạn biết cách sử dụng cả hai bóng và góc tròn (trong trường hợp cụ thể này) trên một khung nhìn bằng cách sử dụng hai khung nhìn lồng nhau: khung nhìn bên ngoài tạo bóng và không che khuất trong khi khung nhìn bên trong làm tròn các góc và mặt nạ thành giới hạn.

Các vấn đề liên quan