UICollectionView Blättern Sie zu Element bei Index
Ich habe erfolgreich einen Bildlauf Element bei index z.B. wenn der Benutzer auf eine Schaltfläche tippt, es geht um das Letzte Element
Hier ist der code, den ich verwendet habe,
self.collection.scrollToItemAtIndexPath(NSIndexPath(forItem: self.array.count - 1, inSection: 0), atScrollPosition: UICollectionViewScrollPosition.Top, animated: true)
Aber mein Problem ist, wie Sie wissen, wenn ein Benutzer ist an der Unterseite oder an der Oberseite des UICollectionView
?
Ich kann dies tun, indem Sie 2-Funktionen und wenn ein Benutzer tippt auf den OBEREN UIButton
es nach oben geht und Umgekehrt...
Aber ich möchte nur mit einem einzigen UIButton
. so dass, wenn der Benutzer drückt auf die Taste der code sollte wissen, wenn ein Benutzer unten und geht nach oben und Umgekehrt.
Ich sah jede Funktion auf UICollectionView
aber scheint nicht zu return
an, welches Element der Benutzer an.
Dachte ich an etwas, was logisch sein könnte zu korrigieren, da dies eine
var someBool: Bool!
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let tempIndex: Int = self.array.count / 2
if indexPath.row > tempIndex{
someBool = true //UP
} else {
someBool = false //Down
}
...
}
@IBAction func buttonPressed{
if someBool{
self.collection.scrollToItemAtIndexPath(NSIndexPath(forItem: 0, inSection: 0), atScrollPosition: UICollectionViewScrollPosition.Top, animated: true)
} else {
self.collection.scrollToItemAtIndexPath(NSIndexPath(forItem: self.array.count - 1, inSection: 0), atScrollPosition: UICollectionViewScrollPosition.Top, animated: true)
}
}
Bedeutet dies, nehmen wir an, ein array hat 9 Elemente /2 = 4 (INT), so wählt der Benutzer die Artikel 9, 9 > 4 true gehen sonst nach unten.
Ich glaube, dieser code funktioniert auch nur, wenn der Benutzer ein Element auswählt, aber ich brauche eine alternative Möglichkeit, ohne die indexPath.row
weil, nehmen wir an, der Benutzer nicht auswählen eines Elements... also, dieser code wird nicht funktionieren....
- Können Sie die Auflistung anzeigen ist
contentOffset
Eigenschaft? (Wenn nicht, können Sie erklären, warum das nicht für Sie arbeiten?) - uhmm,
contentOffset
? was diese Eigenschaft zu tun ? könntest du mir ein code-Beispiel? - Siehe developer.apple.com/library/ios/documentation/UIKit/Reference/... und objc.io/Themen/3-Ansichten/scroll-Ansicht
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn Sie die Unterstützung von iOS 8.0
Diese neue API verwenden, so voll, dass Ihr code perfekt gearbeitet, bewegen Sie einfach den code von
didSelectItemAtIndexPath
zu dieser Methode, da ruft es jedes mal und überprüfen Sie Ihreindexpath.row
hier. lassen Sie mich wissen, wenn es hilft.