相关疑难解决方法(0)

UICollectionViewCell带圆角和投影不起作用

我希望我的UICollectionViewCells有圆角和阴影,但我遇到了一个问题,似乎我只能有一个或另一个,但不是两个.

为了绕过角落我在单元格的初始化中使用此代码:

CALayer *layer = [self layer];
[layer setCornerRadius:4];
[layer setRasterizationScale:[[UIScreen mainScreen] scale]];
[layer setShouldRasterize:YES];
Run Code Online (Sandbox Code Playgroud)

要添加一个投影,我在单元格的初始化中使用此代码:

CALayer *layer = [self layer];
[layer setMasksToBounds:NO];
[layer setRasterizationScale:[[UIScreen mainScreen] scale]];
[layer setShouldRasterize:YES];
[layer setShadowColor:[[UIColor blackColor] CGColor]];
[layer setShadowOffset:CGSizeMake(0.0f,0.5f)];
[layer setShadowRadius:8.0f];
[layer setShadowOpacity:0.2f];
[layer setShadowPath:[[UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:layer.cornerRadius] CGPath]];
Run Code Online (Sandbox Code Playgroud)

要尝试使用圆角和投影,我在单元格的初始化中使用此代码:

CALayer *layer = [self layer];
[layer setMasksToBounds:NO];
[layer setCornerRadius:4];
[layer setRasterizationScale:[[UIScreen mainScreen] scale]];
[layer setShouldRasterize:YES];
[layer setShadowColor:[[UIColor blackColor] CGColor]];
[layer setShadowOffset:CGSizeMake(0.0f,0.5f)];
[layer setShadowRadius:8.0f];
[layer setShadowOpacity:0.2f];
[layer setShadowPath:[[UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:layer.cornerRadius] CGPath]];
Run Code Online (Sandbox Code Playgroud)

但这只会产生阴影.

这是一个错误还是我做错了什么?

objective-c calayer ios uicollectionviewcell

17
推荐指数
3
解决办法
3万
查看次数

标签 统计

calayer ×1

ios ×1

objective-c ×1

uicollectionviewcell ×1