自定义 UITableViewCell 与 2 UILabel 的调整大小
Posted
技术标签:
【中文标题】自定义 UITableViewCell 与 2 UILabel 的调整大小【英文标题】:Custom UITableViewCell with 2 UILabel's resized 【发布时间】:2010-03-31 10:53:40 【问题描述】:我正在努力创建一个自定义 UITableViewCell(在 IB 中),它在左侧有一个 UIImageView,固定在左上角,然后是 2 个 UILabel 与之相邻,并排。所以单元格看起来像:
+---------------------------+
| IMAGE LABEL1 LABEL2 > |
+---------------------------+
我似乎不能做的是更改 LABEL1 的框架,使其适合包含的文本,然后确保 LABEL2 向左(或向右)移动,使其直接与它相邻,填充所有空间单元格的其余部分。
所以,专注于标签文本,我希望单元格看起来像这样:
+---------------------------+
| IMAGE Call 123456 > |
+---------------------------+
在我将 LABEL1 设置为“呼叫”并将 LABEL2 设置为“123456”之后:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
其实我可以用这个来调整 LABEL1 的大小:
CGSize sizeToMakeLabel = [label.text sizeWithFont:label.font];
label.frame = CGRectMake(label.frame.origin.x,
label.frame.origin.y,
sizeToMakeLabel.width + 3,
sizeToMakeLabel.height);
现在文本“Call”的框架适合该文本(通过设置背景颜色确认),但文本“123456”似乎没有向左移动,无论我在 IB 中设置什么自动调整大小,或方法调整单元格视图的大小?我似乎还需要 +3 来确保“呼叫”看起来不像这个“C……”?
我使用 2 个标签,所以 LABEL1 可以用粗体表示。
【问题讨论】:
【参考方案1】:偶然发现了这个 SO 帖子:
Placing UILabels next to each other programatically
确认我采用的相同方法 - 调整每个 UILabel 的框架。
【讨论】:
以上是关于自定义 UITableViewCell 与 2 UILabel 的调整大小的主要内容,如果未能解决你的问题,请参考以下文章
将多个自定义 UITableViewCell 链接到单个 xib
如何借助 AutoLayout 在自定义 UITableviewCell 中添加自定义 UIView(xib)?
自定义UITableViewCell(registerNib: 与 registerClass: 的区别)
如何在其中使用UIStackView自定义UITableViewCell的大小