iOS: UITextView 将高度设置为等于内容高度

标签: Xcode UITextView ios
发布时间: 2015/4/11 12:11:48
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有 UITextView 与禁用滚动,我需要设置 UITextView 以匹配文本内容的高度的高度。我已经尝试过各种方法发现互联网与没有结果。这是我的代码为 UITextView 的布局:

-(void) viewDidLayoutSubviews {
    // UITextView is named jobDescrip
    jobDescrip.scrollEnabled = NO;
    [jobDescrip sizeToFit];
    [jobDescrip layoutIfNeeded];
}

我也试过这段代码中的 viewDidAppear: 方法。有人可以请开机自检代码的 iOS 7.0 和后来这个问题解决办法使用自动布局吗?

解决方法 1:

你吃过这个吗?我添加了一个按钮,我可以看到的高度更改为文本高度及其操作方法中的流动的代码。

CGSize size = [self.textView systemLayoutSizeFittingSize:self.textView.contentSize];
CGRect frame = self.textView.frame;
frame.size.height = size.height;
self.textView.frame = frame;

编辑

我向上海华盈约束添加了底部空间并将其设置为 IBOutlet 属性,然后在 viewDidAppear 我改变约束常数。

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    self.textView.contentInset = UIEdgeInsetsZero;
    CGSize size = [self.textView systemLayoutSizeFittingSize:self.textView.contentSize];
    self.heightConstraint.constant -= size.height - self.textView.frame.size.height;
    self.textView.scrollEnabled = NO;
    [self.textView setNeedsUpdateConstraints];
}
官方微信
官方QQ群
31647020