UISearchBar Abbrechen-Schaltfläche reagiert nicht

8

Ich habe eine Suchleiste implementiert, die den Abbrechen-Button anzeigt, sobald der Benutzer den Fokus in der Suchleiste hat. Dafür habe ich searchBar.showsCancelButton = YES; in meine searchBarTextDidBeginEditing Methode geschrieben. In searchBarSearchButtonClicked gebe ich die Tastatur zurück, damit der Benutzer die gesamte Tabellenansicht anzeigen kann.

Problem: Zu diesem Zeitpunkt reagiert die Schaltfläche zum Abbrechen der Suchleiste nicht. Es reagiert nur, wenn die Suchleiste erneut den Fokus erhält. Ist dies die Standardeigenschaft der Suchleiste Abbrechen-Schaltfläche oder fehlt etwas in meinem Code. Ich möchte die Schaltfläche Abbrechen verwenden, ohne den Fokus erneut in der Suchleiste anzugeben.

    
JiteshW 15.02.2013, 07:41
quelle

3 Antworten

4

Dies ist das Standardverhalten des Suchleisten-Abbrechen-Buttons. Wenn Sie andere Funktionen wünschen, können Sie einfach die cancelnbutton-Eigenschaft für die Suchleiste deaktivieren und UIButton als Abbrechen-Schaltfläche verwenden.

    
Baby Groot 15.02.2013, 07:53
quelle
4

Ja, Sie können Ihre UISearchBar cancel-Schaltfläche aktivieren lassen. Standardmäßig ist es deaktiviert, aber Sie können auf die Unteransicht zugreifen und die Schaltfläche zum Abbrechen aktivieren.

%Vor%

Folgen Sie dieser Antwort, wenn Sie eine andere Logik wünschen Benutzerdefiniert clear Schaltfläche im UISearchBar Textfeld

    
Rajneesh071 15.02.2013 10:43
quelle
3

Ich denke, es ist ein Standardverhalten von UISearchBar , wenn es dann Fokus erhält und nur dann wird die Abbrechen-Schaltfläche aktiviert. Sie können das Cancel-Button-Ereignis von UISearchBar nicht erhalten, wenn es keinen Fokus hat.

So ist mein Vorschlag, Ihre Aufgabe zu erfüllen,

  • Erstellen Sie eine ToolBar
  • Fügen Sie UIBarButtonItem mit der benutzerdefinierten Ansicht als UISearchBar ein.
  • Fügen Sie UIBarButtonItem namens "Abbrechen" mit Aktion
  • ein
iNeal 15.02.2013 08:10
quelle

Tags und Links