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....

Schreibe einen Kommentar