2012-03-25 7 views
2

Was ist die sauberste Methode zum Erkennen von Abzweigungen in einem UITableView-Hintergrund? Ich möchte diese fangen, um die Tastatur zu verwerfen.Erkennen von Abzweigungen im UITableView-Hintergrund

Wenn ich einen UITapGestureRecognizer zur Tabellenansicht hinzufüge, wird beim Tippen auf die Zellen leider der Handler ausgelöst.

Antwort

2

In Ihrer Benutzeroberfläche (Tabelle) Viewcontroller oder in Ihrem UITableView, außer Kraft setzen

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

und wenn die Tastatur gezeigt wird, entlassen. Vergessen Sie auch nicht, dieses Ereignis an Ihre Untersichten weiterzuleiten.

+0

Fällt das nicht auch auf die Zellen? Ich will das nicht. –

+0

Dann, wenn die Berührung in einem UITableViewCell Grenzen, weiterleiten Sie Ihre Veranstaltung auf Subviews und einfach die Tastatur :) – 0xSina

+0

Nun, ich denke, ich könnte die rectcs aller Zellen greifen und die Berührung suchen - aber war auf etwas Höheres hoffen. –

1

Fügen Sie die Geste in der Hintergrundansicht von tableview hinzu. Wie folgt:

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self 
                      action:@selector(tableViewBackgroundTap)]; 

[self.tableView.backgroundView addGestureRecognizer:tapGesture]; 
+1

Es funktioniert nicht für mich –

+0

Funktioniert nicht ohne das Erstellen und Festlegen der 'backgroundView' zuerst. –