Frage

Verwenden des iPhone SDK 3.0, möchte ich die Texteingabe mit (optional) Abschluss-Optionen ermöglichen, die als Eingabe erscheinen auftritt, das heißt auch erlaubt freeformat Eintrag. Als solche ich bin mit einem UISearchBar und UISearchDisplayController Optionen präsentieren (die die Textänderungsereignisse hat).

Die Probleme, die ich die DONE Taste DONE sagen will und nicht finden, aber ich kann nicht einen Weg finden, dass zu setzen. Klar habe ich das Gefühl bin etwas fehlt, oder Interface Builder des SDK API würde eine Eigenschaft haben, eingestellt werden.

Ich habe andere Anwendungen gesehen (im Laden), der das Ergebnis erzielt habe ich (freies Format Eintrag, Abschluss, DONE-Taste) wollen so vielleicht gibt es einen alternativen Ansatz ich vermisst. Vielen Dank im Voraus für alle Hinweise.

War es hilfreich?

Lösung

1 Für wal Antwort, aber auf der sicheren Seite zu sein, und richtig, um mögliche Änderungen in der Ansichtshierarchie in weiteren Versionen reagieren betrachten diesen Code verwenden:

NSArray *subviews = [<searchBar> subviews] ;
for(id subview in subviews) {
    if([subview isKindOfClass:[UITextField class]]) {
        [(UITextField*)subview setReturnKeyType:UIReturnKeyDone];
    }
}

Andere Tipps

Wir hatten gerade implementieren diese genau und keine großen Antworten überall finden konnte ... also dachte ich, ich einen kleinen Einblick bieten würde. Schreiten durch den Debugger und Graben in UISearchBar ist es ziemlich offensichtlich. Ich landete nur die UITextView fand nach oben innerhalb der UISearchBar Subviews und an diesem Punkt, dann sollten Sie in der Lage sein, die returnkeytype auf diesem UITextView zu setzen, sobald Sie einen Griff auf es.

Psuedocode- UISearchBarObject.SubViewAtIndexOfUITextField.ReturnKeyType = UIReturnKeyType.Done

Setzen Sie diesen Code in viewDidLoad.

- (void)viewDidLoad {
...

NSArray *subviews = [self.searchDisplayController.searchBar subviews] ;
UITextField *searchField = [subviews objectAtIndex:([subviews count]-2)];
[searchField setReturnKeyType:UIReturnKeyDone];

...
}

Odd, UISearchBar sollte die UITextInputTraits Schnittstelle wie UITextField und UITextView unterstützen zu tun (es sagt nicht, es in der Dokumentation der Fall ist) und damit haben sollte returnKeyType . Ich würde versuchen es trotzdem.

Wenn dies nicht der Fall, vielleicht eines der Objekte, die UISearchBar verwendet, hat diese Option.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top