it-swarm.com.de

Wie löse ich die Schaltfläche "Abbrechen" in UISearchBar aus?

Wie löse ich die programmgesteuerte Abbruchschaltfläche in UISearchBar aus, wenn Sie die Abbruchschaltfläche antippen?

Ich habe eine UISearchBar oben in einer UITableView und nach einer Suche, wenn jemand eine Zeile auswählt, möchte ich die programmgesteuerte Abbrechen-Schaltfläche in der UISearchBar auslösen.

EDIT: Ohne Benutzerinteraktion.

39
Marckaraujo

Für einen View-Controller, der einen Such-Display-Controller verwendet, können Sie festlegen

self.searchDisplayController.active = NO;
// or:
[self.searchDisplayController setActive:NO animated:YES];

die Suchoberfläche zu schließen.

59
Martin R

Sie müssen die UISearchBarDelegate implementieren. Sobald Sie das getan haben, verwenden Sie:

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar

Teilt dem Delegierten mit, dass die Schaltfläche "Abbrechen" betätigt wurde.

Dann benutze:

[self searchBarCancelButtonClicked:yourSearchBar];
30
rog

Für den neuen UISearchController (2014 eingeführt mit iOS 8) können Sie Folgendes anrufen:

[self.searchController setActive:FALSE];

oder

self.searchController.active = FALSE;

(Kein Flag für Animationen, ich habe festgestellt, dass es immer animiert wird.)

23
Nick

Wie bei iOS 8 wird UISearchController verwendet, um die Aktion zum Abbrechen der Schaltfläche programmgesteuert auszuführen.

[self.searchController setActive:NO]; 
5

Für die Swift 4.2-Version können Sie als folgenden Code schreiben:

searchController?.isActive = false
0
Kosrat D. Ahmad