2010-04-16 8 views
5

Mam wymaganie, gdy mam pole tekstowe w widoku. Kiedy chcę otworzyć widok, przełączając kartę (TabBased Application), po raz pierwszy po załadowaniu widoku pojawia się klawiatura, ponieważ wywoływana jest metoda loadview. Ale kiedy przełączam się na tab2 i ponownie przełączam na tab1 ponownie, widok ładowania nie jest wywoływany. Chcę, aby klawiatura pojawiała się za każdym razem, gdy otwieram stronę tab1.Jak otworzyć widok za pomocą klawiatury pojawiającej się, gdy widok jest już załadowany?

Odpowiedz

10

Zastosowanie -viewWillAppear: w kontrolerze widoku wysłać pole tekstowe do -becomeFirstResponder wiadomość, np

- (void) viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [myTextField becomeFirstResponder]; 
} 
+0

zrobiłem to samo ... Ale metoda ViewWillAppear nie jest wywoływana za każdym razem ...... Oto kod animowany (Woid) viewWillAppear: (BOOL) { [super viewWillAppear: animated]; \t [searchForProduct becomeFirstRondonder]; } Proszę o pomoc –

+1

Kod powinien zadziałać, zakładając, że wszystkie obiekty są tworzone i okablowane. Spróbuj dodać instrukcję 'NSLog', aby sprawdzić, czy' -viewWillAppear: 'zostanie wywołane. Upewnij się również, że 'searchForProduct' nie jest' nil' i/lub że jest poprawnie podłączony, jeśli używasz Kreatora interfejsu dla twojego widoku. –

+0

searchForProduct nie został wydany .. Zawiera alokację pamięci ... Problem jest viewWillAppear Metoda nigdy nie jest wywoływana ... –

Powiązane problemy