从 xib 加载单元格时删除 UICollectionView 中的边框

Posted

技术标签:

【中文标题】从 xib 加载单元格时删除 UICollectionView 中的边框【英文标题】:remove border in UICollectionView when cells loaded from xib 【发布时间】:2018-01-28 09:54:05 【问题描述】:

我有一个 collectionView,我的单元格是从 xib 加载的。

我正在尝试使用以下几行删除边框(我只想要阴影):

cell.contentView.layer.borderWidth = 1.0 //I also tried with 0.0
cell.contentView.layer.borderColor = UIColor.clear.cgColor
cell.contentView.layer.masksToBounds = true

但它似乎不起作用。

我尝试将这些行放在下一个函数中:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 

甚至在单元格类的函数awakeFromNib中。

知道如何删除边框吗?

【问题讨论】:

【参考方案1】:

您正在尝试的代码是 borderWidth 和边框颜色。

使用下面的行作为阴影并删除上面的代码。

cell.contentView.layer.masksToBounds = false
cell.contentView.layer.shadowColor = UIColor.black.cgColor
cell.contentView.layer.shadowOpacity = 0.5
cell.contentView.layer.shadowOffset = CGSize(width: -1, height: 1)
cell.contentView.layer.shadowRadius = 1

cell.contentView.layer.shadowPath = UIBezierPath(rect: self.bounds).cgPath
cell.contentView.layer.shouldRasterize = true

cell.contentView.layer.rasterizationScale = UIScreen.main.scale

【讨论】:

谢谢!问题是 maskToBounds 标志。

以上是关于从 xib 加载单元格时删除 UICollectionView 中的边框的主要内容,如果未能解决你的问题,请参考以下文章

从 XIB 加载 AQGridViewCell(不工作)

单击单元格文本时如何从单元格中删除文本

表格视图单元格高度动态 + 从 .xib 加载

渲染 UICollectionView 的单元格时不遵守部分插图

从 xib 错误加载表格视图中的单元格

当我单击 tableview 单元格时,UITextfield 没有显示文本?