ios – 如何为UICollectionViewCell创建阴影

我需要为UICollectionView中的单元格创建一个阴影.我已将子单元子类化,并在layoutSubviews中添加了以下代码
-(void)layoutSubviews{

    [super layoutSubviews];

    self.layer.masksToBounds = NO;
    self.layer.shadowOpacity = 0.75f;
    self.layer.shadowRadius = 5.0f;
    self.layer.shadowOffset = CGSizeZero;
    self.layer.shadowColor = [UIColor blackColor].CGColor;
    self.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.bounds].CGPath;


}

但是细胞越来越高,这就是结果:

如果我删除

self.layer.masksToBounds = NO;

单元格正确显示(它们之间的距离为10px),但阴影不可见.我究竟做错了什么?另外,在layoutSubviews方法添加阴影是否正确?

解决方法

您需要启用在边界之外创建阴影;
[cell.layer setMasksToBounds:NO];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...