1

我有一个 UITextView,其中内容由 NSTextAlignmentJustified 对齐。在cellForRowAtIndexPath 中:将此文本视图添加到单元格内容视图并根据其内容更改框架

UITextView *commentsTextView = (UITextView *)[self getCommentField:comment];
[cell.contentView addSubview:commentsTextView];
CGRect tempFrame = commentsTextView.frame;
tempFrame.size.height = commentsTextView.contentSize.height;
commentsTextView.frame = tempFrame;

到目前为止,一切都很好。现在,如何为heightForRowAtIndexPath:检测该视图的 contentSize ?我试过了

NSString *comment = [[self.allComments objectAtIndex:indexPath.row] objectForKey:@"commentText"];
CGSize constraintSize = CGSizeMake(315.0f, MAXFLOAT);
CGSize size = [comment sizeWithFont:[UIFont systemFontOfSize:14.0]
                  constrainedToSize:constraintSize
                      lineBreakMode:NSTextAlignmentJustified];

我也试过lineBreakMode:NSLineBreakByWordWrapping等等。但是当文本很长时,单元格的高度总是更小,因为似乎没有办法计算对齐文本的大小(因为文本中间有空格)。字体是一样的。

4

1 回答 1

1

好,我知道了。UITextView 每边有 8 个像素的昆虫,我的CGSizeMake(315.0f, MAXFLOAT); 必须是CGSizeMake(299.0f, MAXFLOAT);

于 2012-12-19T19:20:07.320 回答