ios UITextView 显示不正确(错误?)

Posted

技术标签:

【中文标题】ios UITextView 显示不正确(错误?)【英文标题】:ios UITextView not displaying correctly (bug?) 【发布时间】:2012-04-18 14:07:55 【问题描述】:

我有 10 个UITextViews 水平放置在启用分页的UIScrollView 中。

当我的视图被初始化并被带到视图时,初始页面的UITextView 的文本不会出现。背景颜色显示正常,但文本在屏幕上不可见。

现象如下:

只要你拖动UIScrollView 甚至1px,文本神奇地 就会显示它自己。这是怎么回事?我该如何解决这个问题?

** 编辑 - kai 的代码 **

[self.messageBodyTxt setFont:[UIFont fontWithName:@"MuseoSlab-300" size:16.67]];
[self.messageBodyTxt setText:[[data objectForKey:@"Description"] valueForKey:@"text"];

注意 - 我已经尝试过使用系统字体。此外,此代码适用于不同的视图,所以我不确定是什么。

【问题讨论】:

请发布实例化视图的代码。 在滚动视图加载后尝试触发 [self.scrollView setNeedsLayout]。 @Kai 除了设置文本和文本的字体(我现在已经发布)之外,大多数事情都是在 IB 中完成的。@Lefteris 很好的建议。我试过了,setNeedsDisplay 都没有成功:( 不知道如何以及何时执行“IB-code”......但是解决方法可能是在 viewDidLoad 或视图后代码中的其他位置以编程方式来回滚动 1px显示...每当我遇到无法显示的问题时,我尝试了 setNeedsLayout/Display 但它从来没有工作过... 文本视图的宽度是多少?我遇到了 textviews wider than 512px 上隐藏文本的问题。 【参考方案1】:
CGRect f = self.myTextView.frame;
f.size.height += 1;
[self.myTextView setFrame:f];

因为我的UITextView 已经在XIB 文件中,所以我只需将现有高度修改1px 和viola。正如@larsacus 指出的那样,只有当模块的宽度超过 512px 时才需要这样做。

【讨论】:

以上是关于ios UITextView 显示不正确(错误?)的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 的 UITextView 或 UIWebView 中显示 JSON(格式正确)的最佳方式

iOS 8.1仅间歇性地显示UITextView

iOS - 带有 UITextView 的表格视图单元格未正确调整大小

iOS 5 SDK UITextView 限制/错误?

iOS:解决UITextView自适应高度粘贴大量文字导致显示不全的问题

用于 UITextView 文本的 iOS 8 sizeThatFits 未返回正确的高度(自动布局)