3 Stimmen

Tastatur nach becomeFirstResponder ausgeblendet

Ich bringe den Fokus auf eine UITextView nach dem Setzen seiner .versteckt Eigentum an NO. Wenn ich die [textView becomeFirstResponder] setze, bekommt die textView den kleinen Schreibcursor, aber die Tastatur bleibt ausgeblendet. Irgendeine Idee warum? Wenn es hilft, ist die Hauptansicht eine modale Ansicht, die ein UINavigationController präsentiert.

EDIT: Hier ist die Methode, die aufgerufen wird:

- (void)show_comment_elements {

    toolbar.hidden = YES;
    main_table.hidden = YES;
    add_comment_table.hidden = NO;
    comment_text.hidden = NO;

    [comment_text becomeFirstResponder];

}

Hier ist ein Bildschirmfoto:

frustration

1 Stimmen

Etwas Code wäre auch nützlich

0 Stimmen

Ist das hilfreich? bcaccinolo.wordpress.com/2010/12/28/ - angenommen, Ihr modaler View-Controller wird gepusht und Sie möchten, dass die Tastatur sofort angezeigt wird.

0 Stimmen

Wie haben Sie das behoben? Ich habe ein ähnliches Problem, die Veröffentlichung Ihrer Lösung wäre hilfreich

4voto

Chip Coons Punkte 3181

Ich gehe davon aus, dass Sie überprüft haben, dass Ihre Methode aufgerufen wird, nachdem die Ansicht auf dem Bildschirm platziert wurde.

Aus den Docs....

Ein Responder-Objekt o erster Responder, wenn der aktuelle Responder auf den First-Responder-Status verzichten kann Status (c der neue Responder erster Responder werden kann Responder werden kann.

Sie können diese Methode aufrufen, um eine Responder-Objekt, wie zum Beispiel einen View, zum ersten Antwortenden zu machen. Sie sollten jedoch nur aufrufen Teil einer View-Hierarchie ist. Wenn die View die Window-Eigenschaft eines UIWindow-Objekt enthält, wurde sie in einer View-Hierarchie installiert; wenn sie nil zurück, ist die Ansicht von allen Hierarchie.

Also:

  1. Können Sie bestätigen, dass der aktuelle Responder beim Aufruf Ihrer Methode den First-Responder-Status aufgeben kann?

  2. Ihre Ansicht scheint sich in der Ansichtenhierarchie zu befinden, wenn sie auf dem Bildschirmfoto angezeigt wird. Wenn der Screenshot aus IB stammt, dann prüfen Sie, ob die Window-Eigenschaft der View nicht Null ist.

  3. Vergewissern Sie sich, dass die Ansicht bearbeitbar ist - if(comment_text.isEditable), sonst wird der Status des Erstansprechpartners nicht akzeptiert.

  4. Versuchen Sie, [comment_text setNeedsDisplay] hinzuzufügen, um eine erneute Aktualisierung zu erzwingen, bei der die Ansicht als erster Responder festgelegt wird.

Wenn nichts davon funktioniert, posten Sie etwas mehr Code (z. B. von wo aus die Methode aufgerufen wird).

0voto

Berik Punkte 7536

Dieses Problem tritt auch auf, wenn Sie die nextResponder auf ein Objekt in der Kette, so dass die Responderkette nicht zum UIWindow .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X