我想做的就是创建一个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
}
答案 0 :(得分:1)
您必须为UITableViewCell创建子类,然后在布局中计算第一个标签需要的大小。请查看此What is -[NSString sizeWithFont:forWidth:lineBreakMode:] good for?了解如何使用-[NSString sizeWithFont:constrainedToSize:lineBreakMode:]
。
然后根据第一个标签重新定位第二个标签的框架。
然后,您可以创建一个方法,该方法将返回单元格所需的高度,并在heightForCell
方法中调用该高度。