我在使用 UITextView
时遇到了一个有趣的问题。我使用以下代码在视图控制器的 loadView
中将文本视图放置在屏幕上:
self.textView = [[UITextView alloc] init];
if (self.tutorialPage.text.length > 0)
{
self.textView.backgroundColor = [UIColor clearColor];
self.textView.editable = NO;
self.textView.text = self.tutorialPage.text;
self.textView.showsVerticalScrollIndicator = NO;
self.textView.textColor = [UIColor whiteColor];
self.textView.textAlignment = NSTextAlignmentLeft;
self.textView.translatesAutoresizingMaskIntoConstraints = NO;
//Later constraints are added
}
UIFont *font = [UIFont fontWithName:@"Noteworthy-Bold" size:(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ? 20.0 : 15.0)];
self.textView.font = font;
[self.view addSubview:self.textView];
顺便说一句,这段代码中的每一行都会被调用,文本视图肯定在屏幕上。但不知何故,当再次调用此代码以创建相同类型的另一个视图控制器时,文本不会显示出来。然而,当我通过轻按和长按来选择文本视图中的文本时,文本突然出现了。
更奇怪的是,当我改变了这行代码
UIFont *font = [UIFont fontWithName:@"Noteworthy-Bold" size:(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ? 20.0 : 15.0)];
要使用不同的字体名称,例如@"Noteworthy-Light"
或@"TimesNewRomanPS-BoldMT"
,文本视图会像预期的那样正常工作... 这个问题的原因是什么?
有人以前见过这个问题吗?如果是,请分享您是如何解决或避免它的。