根据文本包含的文本更改textView高度

时间:2014-03-12 19:01:59

标签: ios objective-c

我有用户点击单元格后显示的详细视图控制器,它包含UIImageView,textview有一些文本。有时它有几行文本,有时会有很多文本。我想要的是动态地改变textView帧高度,具体取决于它包含的文本量。

这就是我的尝试:

-(void)configureTextView{

    CGRect frame = self.myTextView.frame;
    frame.size.height = self.myTextView.contentSize.height;
    self.myTextView.frame = frame;
}

但它仍然向我显示不适合整行文本的textView(用户实际上可以上下滚动,我不想要的功能)。如何更改textView框架高度的高度,实际上适合整个文本?以及如何测量textView的最终高度大小?

任何建议都将不胜感激,谢谢!

2 个答案:

答案 0 :(得分:1)

您可以尝试[self.myTextView sizeToFit];,然后查看是否为您更新。

答案 1 :(得分:1)

- (CGFloat)heightForTextView:(UITextView*)textView containingString:(NSString*)string

{

float height = [self.model boundingRectWithSize:CGSizeMake(widthOfTextView, 20000000)
                                        options:NSStringDrawingUsesLineFragmentOrigin
                                     attributes:@{NSFontAttributeName:[UIFont fontWithName:@"Helvetica Neue" size:15]}
                                        context:nil].size.height + 16;




return height;

}