9

ビューにはUITextViewがあり、ビューコントローラーはモーダルスタイルで表示されています。viewDidLoadメソッドで、このUITextViewのテキストを設定しましたが、テキストが表示されません。エラーを示す下の画像。テキストの色は黒です。

奇妙なことに、テキストビューを長押しするか、キーボードの[戻る]をタップすると、テキストが表示されます。私が気づいたことの1つは、このエラーは、設定したテキストがUITextViewフレーム幅よりも長く、長いURLなどの最後の単語が壊れていない場合にのみ発生することです

問題は、ワードラップが正しく機能しないことだと思います。

前もって感謝します。

ここに画像の説明を入力してください

以下のようなコード:

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];

RESOVLED。viewDidLoadメソッドで、以下のコードを追加します。

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

6 に答える 6

6

UITextView を独自のクラスにサブクラス化します。たとえば、MyUITextView:UITextView とします。

オフスクリーンで初期化する

[[MyUITextView alloc] initWithFrame:CGRectZero]

MyUITextView でメソッドをオーバーライドします

-(void)willMoveToWindow:(UIWindow *)newWindow

その中で、self.frame を適切な値に設定します。

これは私のために働いた!

于 2012-07-02T21:38:18.683 に答える
0

ビュー階層を確認してください。そのビューの上に別の textView を追加した可能性があります。

于 2012-06-28T11:32:18.667 に答える
0

問題があると思います:

self.view

このコード行を一番上に追加してみてください

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

解決しない場合は、このコード行を削除してみてください

myTextView.layer.cornerRadius = 5;
于 2012-06-29T23:43:39.997 に答える
0

文字色は黒でよろしいですか?また、画像がビュー階層の textView の背後にあることを確認してください。TextView は、Word の折り返しを自動的に処理します。

于 2012-06-26T04:22:59.747 に答える
0

textView の背景色を変更してみてください。そこに UITextView が追加されている必要があります。また、別のビューを UITextView の上にサブビューとして追加していないことを確認してください。textColor が黒の場合、表示する必要があります。プロパティを変更しない限り、wordwrap はデフォルトで自動的に行われます。また、追加されている場合は XIB の属性設定を確認し、プログラムで追加する場合はコードを表示してください。

于 2012-06-29T12:14:16.563 に答える
0

この場合、modelViewController が表示される前に viewDidLoad が呼び出されていると思います。

  • modalViewController が表示された後にテキストを設定します。
  • それでもうまくいかない場合は、モデルを提示した後、メソッドを呼び出してテキストを明示的に設定します。
于 2012-06-28T06:59:31.967 に答える