2016-08-10 2 views
0

Ich habe eine UISearchBar auf meiner Seite. Ich möchte, dass diese Suchleiste verschwindet, wenn ein Teil der Seite angetippt wird. Dies ist der Code, den ich in meinem viewDidLoad haben:TapGesture zum Schließen der Tastatur/nicht erkannten Auswahl

UITapGestureRecognizer *pageTapped = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideSearchBar)]; 
[self.view addGestureRecognizer: pageTapped]; 

Meine hideSearchBar Methode sieht wie folgt aus:

-(void)hideSearchBar:(UITapGestureRecognizer *)pageTapped{ 
[self.view endEditing:YES]; 
} 

Ich bin zurzeit ein Unbekannter Selektor Fehler immer und sagte, dass hideSearchBar ein Unbekannter Selektor war ein geschickt Instanz von filterPageViewController (die Klasse, die die Methode hideSearchBar und die searchBar selbst enthält). Ich frage mich, ob es möglich ist, dass ich etwas in meiner Header-Datei vermisse?

Antwort

1

Sie sind Halbsäulen im AddIn vermißt:

action:@selector(hideSearchBar) 

sollte

action:@selector(hideSearchBar:) 

oder alle zusammen sein:

UITapGestureRecognizer *pageTapped = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideSearchBar:)]; 

oder entfernen Argument aus Ihrer Funktion:

-(void)hideSearchBar { 

Wenn Sie diese Seite nicht in der hideSearchBar-Methode benötigen.

+0

das funktioniert, um den Fehler sig abrt zu beheben - also danke !!! - Aber wenn ich klopfe, passiert nichts? Die Suchleiste verschwindet nicht:/ – Matt

+0

Es ist, weil Sie Ende Bearbeitung gesendet haben, die Ihre Tastatur verstecken wird - Sie müssen auch Suchleiste behandeln – Miknash

Verwandte Themen