自定义UITableViewCell,其中2个UILabel已调整大小

时间:2010-03-31 10:53:41

标签: iphone-sdk-3.0 uitableview interface-builder uilabel

我正在努力创建一个自定义UITableViewCell(在IB中),左边有一个UIImageView,固定在左上角,然后是两个并排的UILabel。所以单元格看起来像:

+---------------------------+
| IMAGE LABEL1    LABEL2  > |
+---------------------------+

我似乎无法做的是更改LABEL1的框架以使其适合文本包含,然后确保LABEL2向左(或向右)移动,使其直接与其相邻,填充所有空间剩下的细胞。

所以,专注于标签文本,我希望单元格看起来像这样:

+---------------------------+
| IMAGE Call 123456       > |
+---------------------------+

在我将LABEL1设置为“Call”并将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来确保“Call”看起来不像这个“C ......”呢?

我正在使用2个标签,所以LABEL1可以用粗体字表示。

1 个答案:

答案 0 :(得分:0)

偶然发现了这篇SO帖子:

Placing UILabels next to each other programatically

确认我采用的相同方法 - 调整每个UILabel的框架。