Weil scrollView sich über Cell überlappt ... Der beste Weg ist das Hinzufügen von tap Geste auf UIScrollView
, wie,
Fügen Sie obigen Code in cellForRowAtIndexPath
method hinzu und schreiben Sie eine Gestenaktionsmethode wie
Hier oben in der Geste (Aktion) -Methode können Sie indexPath
genauso erhalten wie didSelectRowAtIndexPath
.
Der Grund dafür, dass Ihre Tabellenzelle die Berührungen nicht erkennen kann, liegt daran, dass die scrollView in Ihrer Zelle die Berührungen abfängt und sie nicht an die Tabellenzelle weiterleitet, so dass die tabellarische Delegate-Funktion aufgerufen werden kann.
Eine einfachere Lösung besteht darin, eine Unterklasse von UIScrollView zu erstellen und die scrollView für Ihre Zelle auf diese Unterklasse zu setzen. überschreiben Sie diese Methoden in der Scrollview-Unterklasse
%Vor%Was grundsätzlich überprüft, ob die Bildlaufansicht gezogen wird, und wenn es nicht geht, übergibt es alle Berührungsereignisse an seine Superansicht, in diesem Fall die Zellinhaltsansicht.
Das behebt ein ähnliches Problem für mich, hoffe das hilft.
Prost.
Tags und Links uitableview ios didselectrowatindexpath uiscrollview