我有一个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 等等。但是当文本很长时,单元格高度总是较小,因为似乎没有办法如何优化对齐文本的大小(因为文本中间有白色空格)。字体相同。
答案 0 :(得分:1)
好的,我明白了。 UITextView每侧有8个像素的昆虫,我的 CGSizeMake(315.0f,MAXFLOAT); 必须 CGSizeMake(299.0f,MAXFLOAT);