Ich habe eine Frage über die Delegiertenfunktion UITableView
didSelectRowAt
. Alles funktioniert gut, aber die didSelectRowAt
wird leider nicht aufgerufen. Ich habe eine andere stackoverflow-Frage über das Problem gelesen und einige Lösungen ausprobiert, aber keine davon funktioniert für mich. Ich habe eine Unterklasse der Tableview, die die Delegierten selbst:'didSelectRowAt' wird nicht aufgerufen
class MyTableView : UITableView, UITableViewDelegate{
override func awakeFromNib() {
super.awakeFromNib()
separatorStyle = .none
backgroundView = nil
backgroundColor = UIColor.clear
isScrollEnabled = false
delegate = self
isEditing = false
allowsSelection = true
}
// func tableView(_ tableView: UITableView, didHighlightRowAt indexPath: IndexPath) {
//
// this is working
//
// }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("not called")
}
}
So alle Subklassen von MyTableView
wird die Datenquelle Sachen implementieren und diese auch gut funktioniert (im Falle wird das irgendwie erwähnt).
Die seltsame Sache ist, dass didHighlightRowAt
aufgerufen wird, so dass der Delegierte irgendwie funktioniert. Nur die didSelectRowAt
, die ich möchte, wird nicht angerufen.
Übrigens gibt es keine UITapGestureRecognizer
.
Kann mir irgendwie hier einen Rat geben. Gibt es Eigenschaften, die falsch sind?
Stellen Sie sicher, dass in Ihrer Zelle die Benutzerinteraktion aktiviert ist –
check Tabellenansichtszellen sind auswählbar & prüfen Benutzerinteraktion aktiviert oder nicht? –
Haben Sie einen 'UITapGestureRecognizer' in Ihrem View-Controller? – Lawliet