我的单元格中有UIView
。首先加载UICollectionview
,阴影看起来并不像我预期的那样。但是当我滚动时,阴影变得正常。
self.backView.layer.cornerRadius = 3
self.backView.clipsToBounds = true
self.backView.layer.shadowPath = UIBezierPath(roundedRect: self.backView.bounds, cornerRadius: self.backView.layer.cornerRadius).CGPath
self.backView.layer.shadowColor = UIColor.blackColor().CGColor
self.backView.layer.shadowOpacity = 0.3
self.backView.layer.shadowOffset = CGSizeMake(0, 1)
self.backView.layer.shadowRadius = 1
self.backView.layer.masksToBounds = false
阴影呈现错误:
正确渲染阴影:
Edit-1:我找到了根本原因,但没有找到解决方案。故事板的单元框架和运行时的单元框架是不同的,因为我改变了单元格的高度和宽度,如下所示:
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
return CGSizeMake(collectionView.frame.width/3, collectionView.frame.height)
}
因此,当我删除此代码时,阴影会正确显示。但我无法通过代码设置宽度和高度。
答案 0 :(得分:2)
你可以试试这个
self.backView.layer.shadowColor = UIColor.black.cgColor
self.backView.layer.shadowOpacity = 1
self.backView.layer.shadowOffset = CGSize.zero
self.backView.layer.shadowRadius = 2