我有一个UICollectionViewCell
子类,我需要圆角并添加阴影。细胞看起来像一张方形卡片,细胞之间有很大的空间。
所以“在”每个单元格的“下面”,我想添加一些阴影。我可以成功地做到这一点,但是我的单元格底部只有圆角。顶部只有正常的角落。我需要所有四个角的圆角。
我在这里找到了解决方案UIViews
,建议添加一个单独UIView
的 as a subview
,但出于性能原因,我宁愿避免这种情况。
我确实找到了一种使用这种方法的解决方案,您可以在下面的代码中找到它:
[UIBezierPath bezierPathWithRoundedRect: cornerRadius:]
但这对我也不起作用。是否有可能它对我不起作用,因为我试图只在单元格底部添加阴影“下方”/?似乎这些答案中的大多数都是针对开发人员想要在整个单元格周围添加阴影的问题提供的。
我想我愿意为subview
我的UICollectionViewCell
子类添加一个特殊的,但我想把它作为最后的手段。
我的目标iOS 7+
和使用Xcode 6.1.1.
这是我在UICollectionViewCell
子类中使用的代码,用于尝试实现阴影和圆角:
- (void)load:(CustomUserObject *)customObject
{
self.customObject = customObject;
// Round cell corners
self.layer.cornerRadius = 12;
// Add shadow
self.layer.masksToBounds = NO;
self.layer.shadowOpacity = 0.75f;
self.layer.shadowRadius = 10.0f;
self.layer.shouldRasterize = NO;
self.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(self.frame.size.width/2 - (self.frame.size.width - 50)/2, self.frame.size.height, self.frame.size.width - 50, 10) cornerRadius:self.layer.cornerRadius].CGPath;
}
编辑:如果我设置self.layer.masksToBounds
为NO
,阴影有效,但顶角不圆。如果我设置self.layer.masksToBounds
为YES
,阴影不起作用,但现在所有四个角都是圆角的。我只是不知道如何绕过所有四个角并让阴影起作用。