2009-08-13 12 views
5

Mam niestandardowe pole, które pozwala użytkownikowi wprowadzić tekst w UITextField. Po lewej stronie UITextField znajduje się UIButton. Coś takiego:Jak sprawić, by UIButton powodował, że UITextField zaczynał edycję tekstu?

Imię i nazwisko: [polu Nazwa]

W o UIButton ma tekst "wpisz swoje imię:" i UITextField jest [pole input name].

Gdy użytkownik dotknie UITextField, klawiatura jest wyświetlana na urządzeniu zgodnie z oczekiwaniami. Jeśli jednak użytkownik dotknie tekstu "WPISZ SWOJĄ NAZWĘ:" nic się nie dzieje. Oczekuje się również. Muszę powiedzieć UITextField, że powinien wywołać klawiaturę i rozpocząć edycję po naciśnięciu klawisza UIButton.

(Zastanawiałem się już nad tym, czy granica UITextField obejmuje UIButton, jednak ze względu na wyrównanie tekstu w UITextField, nie mogę robić takich rzeczy, jak justowanie z lewej lub prawej strony. tekst.) Dzięki za jakąkolwiek pomoc, którą możesz zapewnić.

Odpowiedz

12

Możliwe jest powiązanie metody z działaniem touchDownInside Uibutton (w konstruktorze interfejsów), która wywołuje becomeFirstResponder w polu tekstowym. Pole tekstowe rozpocznie się edycja.

5

Tim, to załatwiło sprawę. W interfejsie konstruktora, Zrobiłem UIButton odpowiedzi na „Touch wewnątrz”, a następnie, stworzyłem metodę, która po prostu robiłam:

- (IBAction)myUIButtonAction:(id)sender { 
[myUITextField becomeFirstResponder]; 
} 

Bingo! Tim, dzięki za pomoc. [ta strona jest niesamowita!]

+1

bez problemu - chętnie pomożemy. Jeśli moja odpowiedź rozwiązała Twój problem, możesz rozważyć "zaakceptowanie" go jako właściwej odpowiedzi, klikając zielone pole wyboru po lewej stronie mojej odpowiedzi. Pomaga to innym użytkownikom, którzy mogą mieć ten sam problem, znaleźć szybką odpowiedź, jeśli natkną się na Twoje pytanie podczas wyszukiwania. – Tim

Powiązane problemy