我正在尝试显示一个充满了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上禁用滚动,我最终无法滚动。
这是很常见的事情;什么是实现它的最佳方式?
答案 0 :(得分:3)
您可能希望查看userInteractionEnabled
的{{1}}属性。这应该允许输入传递到UITextView
,以便滚动。
答案 1 :(得分:2)
这是我在此主题上发布的博客的链接。我使用了一个带有numberOfLInes = 0的UILabel。我希望这会有所帮助。
答案 2 :(得分:0)
在玩userInteractionEnabled = NO,scrollEnabled = NO,并且在IB中设置正确的自动调整参数时,我认为使用带有numberOfLines = 0的UILabel和相同的自动调整参数最终是一个更好的主意,对于下一个人