代码之家  ›  专栏  ›  技术社区  ›  petert

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

  •  0
  • petert  · 技术社区  · 16 年前

    我正在努力创建一个自定义的uiTableViewCell(在ib中),它在左侧有一个uiImageView,固定在左上角,然后有2个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”?

    我使用了两个标签,所以label1可以用粗体字表示。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Community Mohan Dere    9 年前

    偶然发现这篇文章:

    Placing UILabels next to each other programatically

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

    推荐文章