通过UITextView表格单元格高度,其中内容对齐为NSTextAlignmentJustified

时间:2012-12-19 19:13:17

标签: ios cocoa-touch uitableview ios6 uitextview

我有一个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 等等。但是当文本很长时,单元格高度总是较小,因为似乎没有办法如何优化对齐文本的大小(因为文本中间有白色空格)。字体相同。

1 个答案:

答案 0 :(得分:1)

好的,我明白了。 UITextView每侧有8个像素的昆虫,我的 CGSizeMake(315.0f,MAXFLOAT); 必须 CGSizeMake(299.0f,MAXFLOAT);