【发布时间】:2015-03-15 16:00:08
【问题描述】:
我有一个从集合视图(包装在视图控制器中)运行到另一个视图控制器的 segue,但该函数永远不会被调用:
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
println(segue.identifier)
println(sender)
println("SEGUE SELECTED: \(segue.identifier)")
if(segue.identifier == "segueToDetailView") {
let cell = sender as CollectionViewCell;
}
}
在函数开始处放置了一个断点,但从未到达。
任何意见表示赞赏。
【问题讨论】:
-
你给
performSegueWithIdentifier打过电话吗? -
我正在使用一个模板,当在 CollectionView 中选择一个单元格时,prepareForSegue 似乎被隐式调用。
-
然而,当 CollectionView 成为视图控制器的子视图时,当单元格中的图像被选中时,什么也没有发生。所以我添加了一个按钮并调用 performSegueWithIdentfer 现在调用 segue 但是应用程序在尝试获取 indexPath 时崩溃 let indexPath = collectionView?.indexPathForCell(cell)
-
所以segue正在执行,但
prepareForSegue没有被调用?还是没有执行segue? -
如果 segue 是直接从单元格中创建的,则应在选择单元格时执行该 segue。如果那里有图像视图,请确保已将其 userInteractionEnabled 属性设置为 true,否则当您触摸图像时将不会选择单元格。这可能是您问题的根源。
标签: ios uicollectionview segue