UITextView 文本消失

Posted

技术标签:

【中文标题】UITextView 文本消失【英文标题】:UITextView text Disappears 【发布时间】:2015-04-20 11:57:04 【问题描述】:

我正在使用 UITextView 显示 NSAttributedString(其中包含使用 NSDocumentTypeDocumentAttribute: NShtmlTextDocumentTypeNSTextAttachmentHTML 表)。

当我在屏幕的一半滚动UITextView 时,文本正在消失。 谁能解释它是怎么发生的?以及如何解决?

UITextView *textView = [[UITextView alloc]init];
textView.frame = CGRectMake(0, 0, 768, 1024);
textView.editable = NO;
textView.selectable = NO;
textView.attributedText = attributedString; //My AttributedSting
[self.view addSubview:textView];

【问题讨论】:

你能告诉我什么是委托吗?表示它是 AppDelegate 对象吗? @AjayGabani 这是NSMutableAttributedString 看这个问题:***.com/questions/20412563/…. @ninjaproger 我试过了。结果是一样的:( 【参考方案1】:

这可能是因为 textview 框架的大小不正确。更改 textview 的背景颜色以查看框架是否已正确设置。

【讨论】:

框架是CGRectMake(0, 0, 768, 1024);,我只创建了一个UITextView。那怎么会是框架大小不正确呢? 您是否考虑过顶部导航栏的高度? 是的。我还添加了导航栏的高度。我的 TexView 文本中途隐藏了。【参考方案2】:

尝试通过添加来确保没有自动创建约束:

[textView setTranslatesAutoresizingMaskIntoConstraints:NO];

理想情况下,您最好使用约束,以便将文本视图的前缘和后缘固定到包含视图,并将其底边和顶边分别固定到底部布局指南和顶部布局指南。

【讨论】:

您在代码中的何处添加文本视图?此外,可能值得将背景颜色设为红色并在viewDidAppear 中打印出框架以查看它使用的实际框架。您是否还添加了任何其他可能覆盖屏幕底部的视图? 您也可以尝试在模拟器中使用 3D 分解视图,它将按深度顺序显示视图层。如果您以前没有使用过它,它可以通过在运行时按下调试器上的符号来激活,它看起来像一个由两个矩形组成的十字:一个在另一个之上。分解图将显示所有视图的位置。 你理解错了我的问题。文本最初显示全屏。当我滚动到文档末尾时,文本以中途标记消失。你可以在我的截图中看到它,滚动条是可见的 滚动条是一直到底部还是只到一半? 一直到底部

以上是关于UITextView 文本消失的主要内容,如果未能解决你的问题,请参考以下文章

插入符号在 UITextView 和 Text Kit 中的长按空白处消失

当弹出框被解除时,保持 UITextView 中的文本突出显示

解除键盘后,带有所选文本的UITextView不响应触摸

滚动时UITextView第一行消失

UITextView 光标在编辑时完全消失了

如何使键盘从 UITextView 中消失?