UITextView冻结内容大小

时间:2014-10-17 19:31:42

标签: ios scroll uitextview

我想动态更改UITextView的高度,但最多只能更改MAX_HEIGHT个值。 我在textViewDidChange委托中使用这样的代码:

CGSize contentSize = [_textView sizeThatFits:CGSizeMake(_textView.frame.size.width, FLT_MAX)];
CGFloat newHeight = ceilf(contentSize.height);
if (newHeight > MAX_HEIGHT)
{
    _textView.scrollEnabled = YES;
    return;
}

CGFloat currentHeight = _textView.keepHeight.equal.value;
CGFloat delta = newHeight - currentHeight;

_textView.keepHeight.equal = KeepNone;
_textView.keepHeight.equal = KeepRequired(newHeight);

最初,我使用_textView.scrollEnabled = NO关闭滚动功能。

这样可以正常工作,直到它达到MAX_HEIGHT并且我打开滚动。它根本不滚动,不显示新的行/字母。没有。

在调试器中,我看到内容大小始终为height = MAX_HEIGHT,即使sizeThatFits显示其他值也是如此。看起来好像冻结了。此外,如果我尝试更改代码中的内容大小值,它会在下一次委托调用中返回MAX_HEIGHT

0 个答案:

没有答案