繁体   English   中英

如果我从可重用单元格的超级视图中删除UILabel,那么在重用时如何在单元格中重新初始化UILabel?

[英]If I remove a UILabel from superview in a Reusable cell, how can I reinitialise the UILabel in the cell when reusing?

我在uitableview中的可重用uitableviewcell遇到了一些麻烦。 在我的可重用tableviewcell xib文件中,我有一个带有3个uilabels的子视图。 如果我在填充单元格时未收到特定的字典键,则会删除中间的uilabel-删除此标签的后果是,将删除关联的约束,因此,如果没有该标签,则顶部和底部的标签将彼此靠近。中间标签。 但是,一旦我删除了特定单元格中的removeFromSubview并随后使dequeueReusableCellWithIdentifier消失,我就会收到一个已经删除了中间标签的单元格,因此无法显示所需的文本。 每次返回单元格时,我都尝试过[uilabel addSubview]带有约束,但是没有成功。 任何想法将不胜感激...在此先感谢...

一种简单的方法是使用两个不同的重用标识符而不是一个:具有三个标签的单元格的标识符,以及具有两个标签的单元格的另一个标识符。

您不应该删除视图,而是将其隐藏并更改其约束,使其具有0的高度/宽度(如果垂直/水平)和0的垂直/水平间距,这样,下面元素的约束将自动调整,就像中间一个在那里,如果再次需要它,则将其约束设置为默认值。

我不久前就在代码中做到了这一点,并且效果很好。如果您提供一些代码,我将为您提供更多有关执行方法的详细信息。 您正在使用情节提要还是通过编程方式工作?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM