と を表示する単純なビュー コントローラーがありUITextViewますUILabel。コントロールはストーリーボードに追加され、アウトレットとして適切なビュー コントローラー コードに接続されます。それらはストーリーボードのテキストで満たされ、テストすると正しく機能します。
しかし、スーパービューからコントロールを削除してから、サブビューとして再度追加しようとしたので、基本的には以前と同じ状態になるはずです。
ビューコントローラーのコードは以下です。
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextView *textView;
@property (weak, nonatomic) IBOutlet UILabel *label;
@end
@implementation ViewController
- (void)viewWillAppear:(BOOL)animated
{
[self.textView removeFromSuperview];
[self.view addSubview:self.textView];
[self.label removeFromSuperview];
[self.view addSubview:self.label];
}
@end
しかし、次のコードの結果は、UITextView( textViewvariable) は表示されませんが、ラベルは表示されます。コードが実行された後に内容self.view.subviewsを印刷すると、階層にあり、正しいフレームもあります。しかし、テキストはまったく表示されません。self.textViewviewWillAppearUITextView
私も試しました:
- コードにテキストを再度設定する
UITextViewコード内の背景を設定する- 呼びかける
setNeedsDisplay_UITextView
UITextViewメモリに存在していても、何も返されません。私の解決策は、コードで別のものを割り当てるUITextViewことですが、それははるかに遅い操作です。
それで、ここで何が問題なのですか?のバグUITextViewですか?このコードが で機能し、 で機能しUILabelないのはなぜUITextViewですか?
ありがとうございました!
