0

我喜欢做的就是创建一个 UITableViewCell ,其布局只有两个元素,如下所示:

"Text that can have a flexible length 
with mutliple lines..."
"one fix line directly follwing the above text"

所以基本上 1. 具有可变长度的灵活文本字段,如果需要,必须看到完整的文本以多行包裹 2. 紧随其后的一行

虽然我发现heightForRowAtIndexPath它仍然无助于如何在这里进行第二个字段的布局......

   -(void) layoutSubviews {
    [super layoutSubviews];
    [flexibleText setFrame:CGRectMake(  5.0,  5.0, 250.0, 40.0)];  //<- fexible height
        [one_line setFrame:CGRectMake(  5.0, 42.0, 250.0, 20.0)]; //<- followed by this one liner
}
4

1 回答 1

1

您必须将 UITableViewCell 子类化,然后在布局中计算第一个标签需要多大。看看这个-[NSString sizeWithFont:forWidth:lineBreakMode:] 有什么用?对于如何使用-[NSString sizeWithFont:constrainedToSize:lineBreakMode:]

然后根据第一个重新定位第二个标签的框架。

然后,您可以创建一个方法,该方法将返回单元格所需的高度并在您的heightForCell方法中调用它。

于 2013-03-16T17:45:26.917 回答