【发布时间】:2009-01-12 14:34:22
【问题描述】:
我正在尝试显示一个充满 twitter 状态的表格(是的,这是 Stanford Presence 2 分配),它们的大小是可变的。我可以使用近似的代码(来自accompanying lecture 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 上禁用滚动,我最终将无法滚动。
这是很常见的事情;实现它的最佳方法是什么?
【问题讨论】:
标签: cocoa-touch