/ / UITextView nie wyświetla tekstu po usunięciu - iphone, ios, cel-c, uikit, uitextview

UITextView nie wyświetla tekstu po usunięciu - iphone, ios, cel-c, uikit, uitextview

Mam prosty kontroler widoku, który wyświetla UITextView i UILabel. Kontrolki są dodawane do storyboardów i łączone jako wyjścia do właściwego kodu kontrolera widoku, są wypełnione tekstem na storyboardie i działają poprawnie podczas testowania.

Ale wtedy próbowałem usunąć kontrolę z widoku superview, a następnie dodać je ponownie jako podgląd, więc zasadniczo powinienem być w tym samym stanie, co poprzednio.

Kod kontrolera widoku znajduje się poniżej.

@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

Ale wynikiem następującego kodu jest to UITextView (textView zmienna) to nie wyświetla się, ale etykieta jest. Jeśli wydrukuję zawartość self.view.subviews i self.textView po kodzie w viewWillAppear jest wykonywany, UITextView jest w hierarchii i ma poprawną ramkę. Ale tekst nie jest w ogóle widoczny.

Próbowałem również:

  • ponownie ustawić tekst w kodzie
  • ustaw tło UITextView W kodzie
  • powołanie setNeedsDisplay na UITextView

Nic nie dostaje UITextView z powrotem, nawet jeśli istnieje w pamięci. Moim rozwiązaniem jest teraz przydzielić inny UITextView w kodzie, ale jest to znacznie wolniejsza operacja.

Co tu jest nie tak? Czy to błąd? UITextView? Dlaczego ten kod działa z UILabel a nie z UITextView?

Dziękuję Ci!

Odpowiedzi:

0 dla odpowiedzi № 1

Upewnij się, że gniazdko jest podłączone. Szare kółko po lewej stronie powinno być wypełnione, jak pokazano poniżej:

wprowadź opis obrazu tutaj

Możesz połączyć go ponownie, przeciągając ctrl. Możesz również potwierdzić, zaznaczając, czy self.textView isn "t nil.