在我的CollectionView中,我在CollectionCells中显示两个“对象类型”。我想要做的是当用户点击一个单元格时,在“didSelectItemAtIndexPath”中确定所选对象并使用“performSegueWithIdentifier”来切换到相应的DetailTableViewContoller以显示“对象”的详细信息。
我的设置方式是NavigationController segue(root)到MyCollectionView segue(push)到DetailTableView。 MyCollectionView中的CollectionCell配置为segue到DetailTableView。
简单地说,当我有以下代码时,在MyCollectionView中选择一个单元格,它正确地分割到DetailTableView但是当我选择DetailTableView中的Back按钮时它会失败。
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[self performSegueWithIdentifier:@"MySegueIdentifier" sender:self];
}
我得到了可怕的
[6313:a0b] nested push animation can result in corrupted navigation bar
[6313:a0b] Finishing up a navigation transition in an unexpected state.
Navigation Bar subview tree might get corrupted.
如果我注释掉performSegueWithIdentifier ...行,它会正确分割,并且DetailTableView中的Back按钮可以正常工作。
类似的代码模式在TableViewController seque中运行到DetailViewController。
有什么建议吗?将segue从CollectionCell设置为DetailViewController是否合适?
答案 0 :(得分:0)
想出来了。在单元格中有segue是不正确的。在控制器级别设置它是正确的。