マイコレクションビューでは、ビューが表示されるとすぐに最初のセルを選択する必要があります。セルは、セルが白のボーダーを持って選択されていないとき、それは緑の境界線を示し、選択された場合UICollectionView - 最初のセルをViewウィンドウが表示されるように選択します。
私はdidSelectItemAtIndexPath
とdidDeselectItemAtIndexPath
を実施しています。
私が必要とするのは、最初のセルを緑色の境界線で開始することです。
しかし、selectItemAtIndexPath
を使用しようとしましたが、最初のセルには緑色の境界線が表示されません。私は何が欠けていますか?
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
}
この時点では、セルはまだロードされていないので、選択できません。 – Sulthan
私はまた、選択が呼び出される前に5秒の遅延を追加しようとしました。しかし、細胞はまだ選択されていません – SNos