我正在使用UICollectionViewDataSource
&我的个人ViewController子类文件中的UICollectionViewDelegate
。我现在可以单击CollectionView中的单元格并导航到我想要的子ViewController,但目标的viewDidLoad
方法总是在didSelectItemAtIndexPath
之前运行,所以我无法获得视图出现之前所选单元格的信息,例如获取所选单元格的标签名称。
以下是我现在所做的代码,第2行总是在第1行之前,但我需要先获得第1行,任何想法?
在UICollectionView的ViewController中,包含数据源和委托:
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
println("1") //line 1
}
在目标的ViewController中:
override func viewDidLoad() {
super.viewDidLoad()
println("2") //line 2
}
P.S:push segue正在使用从主目标到目标。
答案 0 :(得分:1)
使用didHighlightItemAtIndexPath
代替didSelectItemAtIndexPath
解决了我的问题。
答案 1 :(得分:0)
使用prepareForSender:segue:
代替collectionView:didSelectItemAtIndexPath:
。 sender
是被挖掘的单元格。如果您需要其索引路径,可以使用indexPathForCell:
从集合视图中获取它(将sender
作为参数传递)。