如何修复textlabel阴影布局

时间:2016-05-18 09:14:51

标签: ios swift

我指的是this link实现 uicollectionview水平和垂直滚动粘性行和列,它看起来如下。

enter image description here

我希望在第一列中为每个文本标签添加阴影,如下面的代码。

cell.layer.shadowOffset = CGSize(width: 3, height: 3)
cell.layer.shadowOpacity = 0.7
cell.layer.shadowRadius = 2

但是当我继续滚动这个uicollection视图时,我发现一些布局错误:(

enter image description here

我不知道如何解决它,任何想法?

谢谢你的时间。

3 个答案:

答案 0 :(得分:0)

cell.layer.shadowOffset = CGSize(width: 3, height: 3)
cell.layer.shadowOpacity = 0.7
cell.layer.shadowRadius = 2

在您的单元格中的prepareForReuse()方法中添加这些行。

答案 1 :(得分:0)

那是因为你给了细胞而不是文本标签。

cell.layer.shadowOffset = CGSize(width: 3, height: 3)
cell.layer.shadowOpacity = 0.7
cell.layer.shadowRadius = 2

上面的代码将为单元格而不是textLabel提供阴影。您可以将阴影应用于textLabel,如

cell.textLabel.layer.shadowRadius = 2

答案 2 :(得分:0)

这是因为Collectionview正在重用已经添加了阴影的单元格

然后你必须使用cellAtIndexPathAtindex方法

中的所有方法
if firstcolummn
{
cell.layer.shadowOffset = CGSize(width: 3, height: 3)
cell.layer.shadowOpacity = 0.7
cell.layer.shadowRadius = 2

}
else
{

cell.layer.shadowOffset = CGSize(width: 0, height: 0)
cell.layer.shadowOpacity = 0.7
cell.layer.shadowRadius = 0


}