我有一个UITableViewCell
,它是UITableViewCellStyleDefault
。当我尝试将文本放入比UITableViewCell
更长的文本时,它会截断它。如何扩展单元格以适应此文本?
答案 0 :(得分:2)
我没有尝试过你正在做的事情,但它可能会是这样的:
您需要根据视图中文本字符串的长度更改视图的大小。
表视图委托(您的视图控制器)应该实现
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
Message *msg = (Message *)[messages objectAtIndex:indexPath.row];
CGSize size = [[msg text] sizeWithFont:[UIFont fontWithName:@"Helvetica" size:kLabelFontSize]
constrainedToSize:CGSizeMake(220.0f, 480.0f)
lineBreakMode:UILineBreakModeTailTruncation];
CGFloat minHeight = 20.0f;
CGFloat height = size.height > minHeight ? size.height : minHeight;
return height;
}
告诉视图每行的高度。
您还需要同样调整UITableViewCell标签框架的大小。
答案 1 :(得分:1)
你不能比iphone的屏幕扩展单元格的宽度......你能做的就是 1 GT;使字体变小 2 - ;使你的文字多行
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
CGRect contentRect = CGRectMake(80.0, 0.0, 240, 40);
UILabel *textView = [[UILabel alloc] initWithFrame:contentRect];
textView.text = mytext;
textView.numberOfLines = 2;
textView.textColor = [UIColor grayColor];
textView.font = [UIFont systemFontOfSize:12];
[cell.contentView addSubview:textView];
[textView release];
答案 2 :(得分:0)
我认为所有细胞都必须具有相同的高度和宽度。您可以使用UITableViewCells
属性更改tableView's rowHeight
的高度。
例如,如果您继承UITableViewController
self.tableView.rowHeight = 100;
另一种选择是添加自定义UILabel
作为单元格contentView的子视图,如前所示。