In meiner Sammlungsansicht muss die erste Zelle ausgewählt werden, sobald die Ansicht angezeigt wird.UICollectionView - Wählen Sie die erste Zelle aus, in der die Ansicht angezeigt wird
Ich habe implementiert didSelectItemAtIndexPath
und didDeselectItemAtIndexPath
Wenn die Zelle ausgewählt ist, zeigt es einen grünen Rand, wenn nicht ausgewählt ist, hat die Zelle einen weißen Rahmen.
Was ich haben muss, ist meine App mit der ersten Zelle mit einem grünen Rand zu starten.
Ich habe versucht, selectItemAtIndexPath
zu verwenden, aber die erste Zelle zeigt nicht die grüne Grenze. Was vermisse ich?
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
let firstIndexPath = NSIndexPath(forItem: 0, inSection: 0)
frameCollectionView.selectItemAtIndexPath(firstIndexPath, animated: false, scrollPosition: .None)
}
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let frameCell = collectionView.cellForItemAtIndexPath(indexPath) as! FrameViewCell
frameCell.layer.borderWidth = 2
frameCell.layer.borderColor = UIColor.greenColor().CGColor
}
func collectionView(collectionView: UICollectionView, didDeselectItemAtIndexPath indexPath: NSIndexPath) {
let frameCell = collectionView.cellForItemAtIndexPath(indexPath) as! FrameViewCell
frameCell.layer.borderWidth = 1
frameCell.layer.borderColor = UIColor.whiteColor().CGColor
}
An diesem Punkt sind die Zellen noch nicht geladen, so dass Sie keine auswählen können. – Sulthan
Ich habe auch versucht, eine Verzögerung von 5 Sekunden hinzuzufügen, bevor die Auswahl aufgerufen wird. Aber die Zelle ist immer noch nicht ausgewählt – SNos