2009-08-13 1 views
5

Ich habe ein benutzerdefiniertes Feld, in dem der Benutzer Text in einem UITextField eingeben kann. Auf der linken Seite des UITextField befindet sich ein UIButton. Etwas wie folgt aus:Wie ein UIButton dazu gebracht wird, dass ein UITextField mit der Textbearbeitung beginnt

Ihr Name: [Name Eingabefeld]

In der über die UIButton hat den Text "Ihr Name:" und die UITextField ist die [Name Eingabefeld].

Wenn der Benutzer auf das UITextField tippt, wird wie erwartet die Tastatur auf dem Gerät angezeigt. Wenn der Benutzer jedoch auf den Text "ENTER YOUR NAME:" tippt, passiert nichts. Dies wird auch erwartet. Ich muss dem UITextField mitteilen, dass es die Tastatur aufrufen und mit dem Bearbeiten beginnen soll, wenn die UIButton gedrückt wird.

(Ich habe bereits darüber nachgedacht, dass die Grenzen des UITextField den UIButton umfassen. Aufgrund der Ausrichtung des Textes im UITextField kann ich jedoch keine Links oder Rechtsbündnisse machen. Er muss zentriert bleiben Text.) Vielen Dank für Ihre Unterstützung.

Antwort

12

Sie können eine Methode mit der Aktion touchDownInside des UIButtons verbinden (im Interface Builder), die becomeFirstResponder im Textfeld aufruft. Das Textfeld beginnt dann mit der Bearbeitung.

5

Tim, das hat den Trick gemacht. In Interface Builder, machte ich die UIButton zu "Touch Up Inside" reagieren und dann habe ich eine Methode, die einfach tat

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

Bingo! Tim, Danke für die Hilfe. [diese Seite ist genial!]

+1

kein Problem - glücklich zu helfen. Wenn meine Antwort Ihr Problem löst, können Sie es als die richtige Antwort akzeptieren, indem Sie auf das grüne Kästchen links neben meiner Antwort klicken. Dies hilft anderen Benutzern, die möglicherweise das gleiche Problem haben, eine schnelle Antwort zu finden, sollten sie bei einer Suche auf Ihre Frage stoßen. – Tim

Verwandte Themen