UILabel上的SizeToFit和Autolayout

时间:2015-11-11 10:26:48

标签: ios swift autolayout uilabel

我有一个带autolayout的动态单元格,它有一个图像和一个动态标签。目前我尝试绘制气泡图像,但我需要知道给定文本的标签大小是多少。我不得不说我总是收到一个不好的尺寸,当我滚动桌面视图时,泡泡图像被放置在corectlly但它广告另一个泡泡。

这是我的代码:

fetch

我无法弄清楚我的代码有什么问题。有什么建议?

1 个答案:

答案 0 :(得分:0)

我假设您的函数是在UICollectionView DataSource的cellForItemAtIndexPath函数处调用的。只要需要绘制进入视图的集合视图单元,就会多次调用该函数。因此,每次发生这种情况时,您都会将imageViewBG插入单元格,从而重复插入。

快速解决方案是将特定标记添加到imageViewBG,如下所示,并在每次重新添加之前将其删除。

cell.viewWithTag(99)?.removeFromSuperview()
let imageViewBG = //Configure
imageViewBG.tag = 99
cell.insertSubview(imageViewBG, atIndex: 0)

虽然这有助于解决重复问题,但我强烈建议将图像视图添加到故事板上的自定义单元格,并配置应在cellForItemAtIndexPath中显示的图像。