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

Posted

技术标签:

【中文标题】根据包含的文本更改 textView 高度【英文标题】:Changing textView height depending of text it contain 【发布时间】:2014-03-12 19:01:58 【问题描述】:

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

这是我尝试过的:

-(void)configureTextView

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

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

没问题。如果它有效,请确保您标记为最佳答案,以便其他人可以看到。 :)【参考方案2】:
- (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;

【讨论】:

以上是关于根据包含的文本更改 textView 高度的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中控制textview的文本高度?

根据里面的多行文本视图动态设置 ListView 高度

文字高度错误?

Android TextView中的下划线和更改文本颜色[重复]

动态添加文本后Textview不调整大小?

如何在swift ios中调整集合视图单元格的高度?