と を表示する単純なビュー コントローラーがあり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
( textView
variable) は表示されませんが、ラベルは表示されます。コードが実行された後に内容self.view.subviews
を印刷すると、階層にあり、正しいフレームもあります。しかし、テキストはまったく表示されません。self.textView
viewWillAppear
UITextView
私も試しました:
- コードにテキストを再度設定する
UITextView
コード内の背景を設定する- 呼びかける
setNeedsDisplay
_UITextView
UITextView
メモリに存在していても、何も返されません。私の解決策は、コードで別のものを割り当てるUITextView
ことですが、それははるかに遅い操作です。
それで、ここで何が問題なのですか?のバグUITextView
ですか?このコードが で機能し、 で機能しUILabel
ないのはなぜUITextView
ですか?
ありがとうございました!