Ist es möglich, meine Sammlung Ansicht vom Scrollen zu stoppen, indem Sie Code in der Sammlung Ansicht Cell .swift Datei schreiben. Ich möchte in der Lage sein, das Scrollen zu stoppen, wenn der Benutzer auf eine Schaltfläche in der Zelle klickt und dann das Scrollen zulässt, wenn die Schaltfläche erneut gedrückt wird.Steuerung collectionView Scrollen innerhalb von collectionView Zelle
1
A
Antwort
3
Erstellen von benutzerdefinierten Delegaten für Ihr Handy
protocol CustomCellDelegate: class {
func cellDidSetScrolling(enabled: Bool)
}
class CustomCell: UICollectionViewCell {
var delegate: CustomCellDelegate?
// ....
}
zuordnen Delegat in cellForItem
auf die Schaltfläche Aktion
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
// dequeue cell and assign delegate
var cell: CustomCell?
cell.delegate = self
return cell
}
Anruf Zelle Delegierten Zelle. Verwendet button.tag
enabled
Wert
func buttonAction() {
button.tag = button.tag == 0 ? 1 : 0 // toggle value
delegate?.cellDidSetScrolling(enabled: button.tag == 1)
}
Implementieren Delegierten in ViewController
class ViewController: UIViewController, CustomCellDelegate {
func cellDidSetScrolling(enabled: Bool) {
collectionView.isScrollEnabled = enabled
}
}
Glücklich zu bestimmen Codierung!
Verwandte Themen
- 1. Collectionview Zelle mit beiden Richtungen
- 2. CollectionView innerhalb ViewController
- 3. CollectionView Problem nach dem ersten Element scrollen
- 4. CollectionView mit UIScrollView als Zelle
- 5. CollectionView - Hinzufügen einer neuen Zelle
- 6. Vertikale CollectionView innerhalb einer horizontalen CollectionView Swift iOs
- 7. Bilder im collectionView ändern sich beim Scrollen
- 8. CollectionView zur nächsten Zelle automatisch swift
- 9. Collectionview innerhalb Tabellenansicht Zelle nicht Höhe der Sammlung erhöhenView
- 10. Benutzerdefiniertes Layout CollectionView kann nicht scrollen
- 11. ausblenden NavigationBar beim Scrollen nach unten CollectionView
- 12. Verschachtelte CollectionView im Storyboard
- 13. iOS (Swift) - autoresizing UILabel in CollectionView Zelle
- 14. Leere Zellen in CollectionView
- 15. iOS - UITableView in einem horizontalen CollectionView, horizontal collectionView in VerticalScrollView
- 16. Schließfläche beim Verstecken der Collectionview-Zelle?
- 17. Ausblenden von NavigationBar beim Scrollen von TableView in CollectionView?
- 18. Collectionview single selection
- 19. iOS StackView oder CollectionView
- 20. Hinzufügen von Animationen zu einer Schaltfläche in einer CollectionView-Zelle
- 21. iOS - Collectionview Bilder verschwinden beim Scrollen und manchmal Überlappungen
- 22. CollectionView Ios 6 Problem
- 23. Collectionview innerhalb der Tabellenansichtszelle mit 1 Datenquelle
- 24. Überlagernde Schaltflächen auf Tableviewcell mit collectionview innerhalb
- 25. NavigationController & hidesBarsOnSwipe mit CollectionView Unteransicht
- 26. CollectionView-Kopfzeile beendet das Aktualisieren/Neuladen von Daten beim Scrollen
- 27. Swift CollectionView Vertikale Paging-Funktion
- 28. NSFetchedResultsContollerDelegate für CollectionView
- 29. Benutzerdefinierte dreieckige UICollectionviewCell in collectionview
- 30. CollectionView horizontal Bildlauf unabhängig voneinander
Ehrfürchtig. Was bedeutet es, wenn button.tag gleich 1 ist? – Honey
Der Code schaltet den Wert von isScrollEnabled um. Das heißt, wenn das Scrollen bei Aktivierung aktiviert ist, wird es durch Antippen der Schaltfläche deaktiviert und umgekehrt. –
Ich frage etwas anderes. Korrigiere mich, wenn ich falsch liege: Standardmäßig ist das Button-Tag auf '0' gesetzt (ich meine, du brauchst ihm keinen Initialwert zu geben. Richtig) ... also sobald es angeklickt wurde, stellst du es auf '1' und machen Sie Ihre Entscheidung von 'isScrollEnabled' basierend darauf ... Sie missbrauchen im Grunde die Tag-Eigenschaft, um diese Manipulation durchzuführen ... – Honey