UITextView中的文本无法正确显示,不可见,但占用空间

时间:2012-06-26 04:18:23

标签: ios uikit uitextview word-wrap

视图中有一个UITextView,视图控制器以Modal样式显示。在我的viewDidLoad方法中,我设置了这个UITextView的文本,但是,文本没有显示。下图显示错误。 文字颜色为黑色

奇怪的是,当我长时间点击文本视图或点击键盘上的[返回]时,文本变为可见。我注意到的一件事是,当我设置的文本长于UITextView框架宽度时,只有 出现此错误,并且最后一个单词没有被破坏,例如长网址

我认为问题是 也许自动换行不正常

提前致谢。

enter image description here

代码如下:

UITextView *myTextView = [[UITextView alloc]initWithFrame:CGRectMake(10, 10, 520, 220)];
myTextView.textColor = [UIColor blackColor];    
myTextView.font = [UIFont systemFontOfSize:20];
myTextView.layer.cornerRadius = 5;
myTextView.delegate = self;
myTextView.text = @"long text should some like http://stackoverflow.com/posts/11200726/edit";

[self.view addSubview:myTextView];
[myTextView release];

来拆分。在viewDidLoad方法中,添加以下代码:

CGRect tempFrame = myTextView.frame;
[myTextView setFrame:CGRectZero];
[myTextView setFrame:tempFrame];

6 个答案:

答案 0 :(得分:5)

UITextView子类,对于你自己的一个类,让我们说MyUITextView:UITextView。

使用

在屏幕外初始化
  

[[MyUITextView alloc] initWithFrame:CGRectZero]

在MyUITextView中覆盖方法

  

- (void)willMoveToWindow:(UIWindow *)newWindow

并在其中将self.frame设置为正确的值。

这对我有用!

答案 1 :(得分:0)

你确定文字颜色是黑色的吗?还要确保图像位于视图层次结构中的textView后面。 TextView自动处理自动换行。

答案 2 :(得分:0)

我认为在这种情况下,在呈现modelViewController之前会调用viewDidLoad。

  • 在显示modalViewController后设置文本。
  • 如果这也不起作用,那么在展示模型后,调用一个方法来明确设置文本。

答案 3 :(得分:0)

检查您的视图层次结构。您可能在该视图上方添加了另一个textView。

答案 4 :(得分:0)

尝试更改textView的背景颜色。必须出现的是在那里添加UITextView。并确保您没有在UITextView上方添加另一个视图作为子视图。如果textColor为黑色,则必须是可见的,默认情况下会自动完成wordwrap,除非您更改属性。如果添加了,则尝试检查XIB中的属性设置,如果以编程方式添加,则plz显示代码。

答案 5 :(得分:0)

我认为问题在于:

self.view

尝试在顶部添加此代码行

self.view = [[[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];

如果没有帮助,请尝试删除此代码行

myTextView.layer.cornerRadius = 5;