iOS:表格单元格中的 UILabel 和 UIButton

Posted

技术标签:

【中文标题】iOS:表格单元格中的 UILabel 和 UIButton【英文标题】:iOS: UILabel & UIButton in a table cell 【发布时间】:2011-06-06 14:37:53 【问题描述】:

我试图在 UITableViewCell 中并排显示标签和按钮。按钮位于右端,标签位于左端。标签可以承载很长的文本,如果文本超出范围(我不想减小字体大小等),则应该被截断。不用说,我希望这对两个方向都有效。

如果我使用 UITableViewCellStyleDefault(不添加按钮)并为默认标签设置长文本,我观察到当方向改变时标签会自动调整大小。很可能是因为它的 autoresizingMask 设置为UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin. 现在,我看到它的方式,我可以插入我的按钮,并使标签正确截断,如果我可以配置默认使用的右边距的值(到容纳按钮)。我本质上希望它在我指定的范围内自动调整大小。有没有办法做到这一点?

我不喜欢听每个方向变化并设置标签框架的边界。还有其他可行的解决方案吗?

【问题讨论】:

你考虑过创建一个 UITableViewCell 子类吗?这将使您完全控制子视图自动调整大小。 谢谢马克!是的,我考虑过对layoutSubviews 进行子分类和覆盖,但我更希望这是最后的手段。对于这样的事情,这似乎有点过头了。 【参考方案1】:

我终于继承了UITableViewCell 和覆盖layoutSubViews。谢谢马克!

【讨论】:

以上是关于iOS:表格单元格中的 UILabel 和 UIButton的主要内容,如果未能解决你的问题,请参考以下文章

Objective C - iOS,在屏幕外的静态表格单元格中遍历 UILabel

根据表格视图单元格中的内容更改 uilabel 高度

以编程方式约束表格单元格中的 UILabel

自定义大小的表格视图单元格中的 UILabel 中的行数

自定义 UITableView 单元格中的 UILabel 未随核心数据更改而更新

如何使用自定义表格视图单元格中识别的点击手势从 UILabel 呈现视图控制器?