4

で興味深い問題が発生してい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"、テキスト ビューは期待どおりに動作します... この問題の原因は何ですか?

誰もこの問題を見たことがありますか? もしそうなら、それをどのように解決したか、または回避したかを共有してください。

4

2 に答える 2

1

同様の問題がありました。最初にUIFontを設定し、その後UIColour + NSTextAlignmentを設定することで解決しました。簡単に言うと、設定する必要があります: フォント -> 色/その他の属性。

于 2015-05-10T13:11:11.823 に答える
0

そのテキスト フィールドをファーストレスポンダにしたい場合は、viewWillAppear の代わりに viewDidAppear で作成します。あなたの問題は解決します。

于 2016-11-23T07:21:41.840 に答える