In einem meiner Projekte brauchte ich jedes Tippen auf die TableView, um die Tastatur zu schließen, so dass die zugrunde liegende TableView angezeigt würde. Da ein UITableView in Wirklichkeit ein UIScrollView ist, wird es auf die Delegiertenmethoden von scrollView antworten. Mit diesen zwei Methoden entlassen werden, wenn der Benutzer entweder auf eine Zelle tippt oder die Tableview scrollt überhaupt:
Wichtig: Stellen Sie sicher, dass Sie die UIScrollViewDelegate in Ihrer .h-Datei sowie die UITableViewDelegate und UITableViewDataSourceDelegate implementieren !!!
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//remove keyboard if table row is clicked
if ([self.firstName isFirstResponder] || [self.lastName isFirstResponder]) {
[tableView deselectRowAtIndexPath:indexPath animated:NO];
[self.firstName resignFirstResponder];
[self.lastName resignFirstResponder];
}
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
//remove keyboard if table scrolls
if ([self.firstName isFirstResponder] || [self.lastName isFirstResponder]) {
[self.firstName resignFirstResponder];
[self.lastName resignFirstResponder];
}
}
ich habe bereits, dass aber Berührungsereignis arbeitet immer noch nicht :( – ram
Haben Sie es auf der Zelle zu versucht Einstellung? – jtbandes
ja beide Seite ich habe .. mein Berührungsereignis an nicht alle Arbeiten in Tabellenzellen ihre funktioniert nur außerhalb von Zellen – ram