视图中有一个UITextView,视图控制器以Modal样式显示。在我的viewDidLoad方法中,我设置了这个UITextView的文本,但是,文本没有显示。下图显示错误。 文字颜色为黑色 。
奇怪的是,当我长时间点击文本视图或点击键盘上的[返回]时,文本变为可见。我注意到的一件事是,当我设置的文本长于UITextView框架宽度时,只有 出现此错误,并且最后一个单词没有被破坏,例如长网址 。
我认为问题是 也许自动换行不正常 。
提前致谢。
代码如下:
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];
答案 0 :(得分:5)
UITextView子类,对于你自己的一个类,让我们说MyUITextView:UITextView。
使用
在屏幕外初始化[[MyUITextView alloc] initWithFrame:CGRectZero]
在MyUITextView中覆盖方法
- (void)willMoveToWindow:(UIWindow *)newWindow
并在其中将self.frame设置为正确的值。
这对我有用!
答案 1 :(得分:0)
你确定文字颜色是黑色的吗?还要确保图像位于视图层次结构中的textView后面。 TextView自动处理自动换行。
答案 2 :(得分:0)
我认为在这种情况下,在呈现modelViewController之前会调用viewDidLoad。
答案 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;