在IOS7中使用UITextView的sizetofit时会发生奇怪的事情

时间:2013-09-21 04:18:25

标签: uitextview ios7 sizetofit

当我在IOS7模拟器上测试我的应用程序时。 有时我发现使用sizeToFit的{​​{1}}时很奇怪。 UITextView之后的框架似乎正确,但文字只能部分显示,如下图所示。 (灰色区域代表sizeToFit之后的UITextView新框架,整个句子应该是“这引发了两者之间的紧张关系。”

enter image description here

sizeToFit文本是通过attributedText设置的。 似乎问题只出现在一些句子中,大多数句子都可以。

我多次遇到这个问题但还不能解决。 任何帮助将不胜感激。感谢。

更新

最后,我以丑陋的方式解决问题。我重置了textView的文本。

UITextView

现在它可以在sizeToFit之后显示整个内容。 我认为这似乎是IOS 7的错误。

4 个答案:

答案 0 :(得分:19)

我遇到了同样的问题,我花了一段时间来搞清楚,你只需要调整文本容器的大小

[textview sizeToFit];
[textview.textContainer setSize:textview.frame.size];

答案 1 :(得分:2)

在IOS7中注意到sizeToFit也不起作用 - 也许解决方案也可以帮到你,需要额外的layoutIfNeeded

[UITEXTVIEW sizeToFit];
[UITEXTVIEW layoutIfNeeded];
[UITEXTVIEW setTextContainerInset:UIEdgeInsetsMake(0, 0, 0, 0)];

答案 2 :(得分:0)

您是否在界面构建器中选中了“剪辑子视图”?

尝试取消选中或将此属性设置为“NO”。

答案 3 :(得分:0)

试试这个对我有用。

[textView setTextContainerInset:UIEdgeInsetsMake(0, 0, 0, 0)];