2016-07-06 13 views
2

Ich habe UICollectionViewDelege, UICollectionViewDatasource und UIScrollViewDelegate importiert.UICollectionView nicht aufrufen scrollViewDidScroll - Swift

Ich habe meine Sammlung Ansichten Delegate und Datenquelle auf Selbst festgelegt.

Aber scrollViewDidScroll wird nicht aufgerufen, geht meine Bildlaufansicht horizontal, wenn das einen Unterschied macht?

Warum wird scrollViewDidScroll nicht aufgerufen, wenn Sammlungsansichten das Scrollview in ihnen verwenden?

Antwort

0

UICollectionView erbt von UIScrollView. Sie müssen nicht hinzufügen. Entfernen Sie es und fügen Sie UICollectionViewDelegate hinzu. Dies könnte Ihr Problem beheben.

+0

Nein tut nichts, ich habe bereits die Delegierten und die Inhaltsgröße festgelegt, aber es ist kein Aufruf. Ich habe alle Schritte gemacht und das Internet sagt, dass ich alles erledigt habe. – Eli

0

Ich habe dieses Problem auch festgestellt. Ich begann damit, den Delegaten innerhalb des Storyboards auf self zu setzen, zu diesem Zeitpunkt wurde scrollViewDidScroll nicht aufgerufen (aber Funktionen wie collectionView willDisplayCell waren wie erwartet). Nach einigem Herumspielen ist mir aufgefallen, dass das Setzen des Delegierten programmgesteuert das Problem behoben hat.

+0

Das gleiche Problem hier. Ich habe sowohl meine Delegierten und dataSource in IB festgelegt, aber ScrollViewDidScroll() wird nicht ausgelöst. Auch wenn ich sie in Code einstelle, bleibt das Problem bestehen. –

1

Ich bewegte Form swift 2 swift 3 und was hat der Trick ist folgender:

swift 2:

public func scrollViewDidScroll(scrollView: UIScrollView) 

zu schnellen 3:

public func scrollViewDidScroll(_ scrollView: UIScrollView) 

Also im Grunde die "_" unterstrich den Trick. Was nervt ist, dass der schnelle Compiler sich nicht darüber beschwert hat !!!

Als Vererbung UICollectionViewDelegate sollte den Trick tun.