IOS:在其内容中围绕 uicollectionViewCell 剪辑的角落
Posted
技术标签:
【中文标题】IOS:在其内容中围绕 uicollectionViewCell 剪辑的角落【英文标题】:IOS: round the cournes of a uicollectionViewCell clipin it's contents 【发布时间】:2014-09-09 18:54:00 【问题描述】:我有一个包含多种单元格样式和大小的集合视图,我想使用这个辅助函数来圆角单元格的角:
void roundCornersOfAView(UIView *view, CGFloat radius, BOOL shadow)
CALayer* layer = [view layer];
[layer setCornerRadius:radius];
[layer setBorderColor:[UIColor blackColor].CGColor];
[layer setMasksToBounds:YES];
// CALayer* mask = [CALayer layer];
// [mask setFrame:CGRectMake(layer.frame.origin.x, layer.frame.origin.y, layer.frame.size.width, layer.frame.size.height)];
// [mask setCornerRadius:radius];
// [layer setMask:mask];
if (shadow)
[layer setBorderWidth:0.5f];
//[layer setMasksToBounds:NO];
[layer setShadowColor:[UIColor blackColor].CGColor];
[layer setShadowOpacity:1.0];
[layer setShadowRadius:1.0];
[layer setShadowOffset:CGSizeMake(0.0, 0.0)];
[layer setMasksToBounds:YES];
在我的单元格中使用它作为索引路径的行:
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:... forIndexPath:indexPath];
roundCornersOfAView([cell contentView], 30, YES);
问题是单元格上的图像没有被剪裁在圆角中,标签或任何其他子视图都没有,它只剪裁背景颜色......像 instagram 一样圆角和剪裁其内容的最佳方法是什么应用?
【问题讨论】:
尝试设置clipToBounds = YES; 已经尝试过...似乎剪辑到边界仍然是边界属性的一部分,它是一个平方 CGrect...因为这只是编辑图层,所以 clipToBounds 不起作用 尝试将单元格颜色设置为Clear color,可能你看到的是单元格而不是contentView。让我知道进展如何 还是不行... 您是否尝试过传递单元格而不是 [cell contentView]? 【参考方案1】:这样称呼它:
roundCornersOfAView(cell, 30, YES);
像这样使用辅助函数:
void roundCornersOfAView(UIView *view, CGFloat radius, BOOL shadow)
CALayer* layer = [view layer];
[layer setCornerRadius:radius];
[layer setBorderWidth:0.0f];
if (shadow)
[layer setBorderColor:[UIColor blackColor].CGColor];
[layer setBorderWidth:0.1f];
[layer setShadowColor:[UIColor blackColor].CGColor];
[layer setShadowOpacity:0.5];
[layer setShadowRadius:1.5];
[layer setShadowOffset:CGSizeMake(0.0, 1.0)];
[layer setMasksToBounds:YES];
问题是我发送的是内容视图而不是单元格本身。
【讨论】:
这应该是一个类别,虽然 是的,一个类别会更好,这个解决方案虽然会剪辑阴影:S以上是关于IOS:在其内容中围绕 uicollectionViewCell 剪辑的角落的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 中动态更改 UICollectionView 单元格高度