在自定义 UITableViewCell 中动态显示按钮

Posted

技术标签:

【中文标题】在自定义 UITableViewCell 中动态显示按钮【英文标题】:Dynamically displaying buttons within a custom UITableViewCell 【发布时间】:2014-12-23 11:31:14 【问题描述】:

我想要一个自定义单元格有一组按钮,我需要的按钮数量取决于用户之前选择的参数,所以我不知道在运行时之前我必须显示的按钮(我知道不过,我可以拥有的最大按钮数)。我一直在考虑两种方法来做到这一点:

1) 在情节提要的原型单元格中直接添加最大数量的UIButton,并根据需要在代码中隐藏或显示它们。这看起来更容易,但我会隐藏未使用的子视图。

2) 在运行时以编程方式创建和添加按钮,因此我不会有未使用的按钮。而是需要更多代码。

最好的选择应该是什么?

谢谢

【问题讨论】:

如果您担心内存问题,最好通过代码来实现。同时,如果您需要考虑显示时间,那么最好尝试第一个 【参考方案1】:

这取决于一个单元格中可以有多少按钮。 一般来说,第二种方法是最好的,因为内存占用更少,并且可能更快地重用“UITableViewCell”。

【讨论】:

【参考方案2】:

我建议您使用第二个选项,因为它可以让您更好地控制按钮,并且您可以根据需要进行修改和创建

【讨论】:

【参考方案3】:

如果按钮的最大数量不是很高,那么我建议您使用情节提要方法。这是因为对于第二种方法,您必须创建按钮,然后在prepareForReuse 中销毁它们。我宁愿占用更多的内存,也不愿在运行时创建多个按钮(可能在滚动时)。

【讨论】:

以上是关于在自定义 UITableViewCell 中动态显示按钮的主要内容,如果未能解决你的问题,请参考以下文章

在自定义 TableViewCell 中动态更改 UILabel 框架

UIButton 在自定义 UITableviewCell 中没有响应

在自定义 UITableViewCell 的子视图中添加 UIViewController

在自定义 UITableViewCell 中调整 UITextView 的大小

UIImageView 未在自定义 UITableViewCell 中显示图像

无法在自定义 UITableViewCell 中更新 UITextView 的文本