我正在尝试显示一个充满了twitter状态的表(是的,这是Stanford Presence 2的分配),它的大小各不相同.我可以相对容易地确定代码近似的行的适当高度(从随附的第9讲):
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *) indexPath { NSString *text = ...; UIFont *font = [UIFont systemFontOfSize:...]; CGSize withinSize = CGSizeMake(tableView.width, 1000]; CGSize size = [text sizeWithFont:font constrainedToSize:withinSize lineBreakMode:UILineBreakModeWordWrap]; return size.height + somePadding; }
我尝试了两种方法(以及对两者的一些调整),以便将多行自动换行字段放入我的表格行.
将UILabel作为子视图添加到我的自定义UITableCell子类,并将该numberOfLines
属性设置为基于上面的高度(例如,6)的计算数字,或者设置为0(理论上无限制).该numberOfLines
被忽略; 我看到1或2行,而不是更多.
添加只读UITextView作为子视图.这有UITextView吃掉滚动的问题; 我最终在UITextView行内滚动,而不是从一行到另一行平滑移动.如果我在UITextView上禁用滚动,我最终无法滚动.
这是很常见的事情; 什么是实现它的最佳方法?