我想从我的collectionview单元格创建一个segue到另一个viewcontroller的另一个collectionview单元格。例如,当第一个单元格被轻敲时,我想从另一个视图控制器转到其他collectionview的第一个单元格。或者当第二个细胞被挖掘时,我想去第二个细胞。我怎样才能做到这一点?如何从collectionview单元格创建一个segue到另一个collectionview单元格?
0
A
回答
0
在一个viewcontroller中,您不能直接从集合视图单元中获得一个segue,而是转到另一个视图控制器中的另一个单元格。但是应该可以做类似下面的东西来达到你想要的东西:
父视图控制器
1)添加类型的属性selectedIndexPath NSIndexPath
2)故事板安装(或代码),这个视图控制器实现了UICollectionViewDelegate
3)实施didSelectItemAtIndexPath委托方法为您收集查看
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
selectedIndexPath = indexPath
[self performSegueWithIdentifier:@"identifier" sender:self];
}
4)selectedIndexPath值传递给你的第二个视图控制器
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// :: Should do other checking - if we have segues to other screens
SecondViewController *secondViewController = (SecondViewController *)segue.destinationViewController;
secondViewController.initialDisplayedCellIndexPath = selectedIndexPath
}
}
SecondViewController代码
1)添加类型的属性initialDisplayCellIndexPath NSIndexPath
2)重写viewWillAppear中
(这是假设你的collectionV IEW属性命名的CollectionView)
[self.view layoutIfNeeded];
[self.collectionView scrollToItemAtIndexPath:initialDisplayCellIndexPath atScrollPosition:UICollectionViewScrollPositionCenteredVertically
基本上什么上面做的是做从一个视图控制器正常SEGUE你的第二个视图控制器 - 触发在代码中单击单元格的结果。作为prepareForSegue的一部分,我们可以将数据传递给第二个视图控制器(在这种情况下,它是所选项目的indexPath)。然后,当第二个viewcontroller显示,我们然后告诉集合视图滚动到我们想要去的地方。
希望有道理:-)
相关问题
- 1. CollectionView与UIScrollView作为一个单元格
- 2. 试图在2个不同viewController的collectionView单元格之间创建一个segue
- 3. 无法在collectionview中创建单元格?
- 4. collectionView单元格重叠
- 5. CollectionView中的空单元格
- 6. CollectionView单元格不显示
- 7. 将单元格从一个单元格复制到另一个单元格
- 8. 的CollectionView应该滚动到最后一个单元格
- 9. 当另一个单元格被选中时,取消选择一个collectionview单元格
- 10. NSInternalInconsistencyException从collectionView中删除单元格
- 11. 将新单元格插入到collectionview中
- 12. 如何将数据从一个单元格提取到另一个单元格
- 13. 控制collectionView从collectionView中滚动单元格
- 14. wpf数据网格 - 从一个单元格移动到另一个单元格
- 15. CollectionView不同的单元格选择
- 16. CollectionView单元格大小限制
- 17. CollectionView单元格移动时选中
- 18. CollectionView中单元格之间的间距
- 19. Collectionview单元格打开新视图
- 20. xib没有显示collectionview单元格
- 21. CollectionView中的日志单元格
- 22. CollectionView单元格中的间距
- 23. UIImagePickerController和CollectionView控制器/单元格
- 24. 更新CollectionView未选中的单元格?
- 25. 单元格间距,插图中的CollectionView
- 26. 突出显示CollectionView中的单元格
- 27. Collectionview没有填充单元格标签
- 28. 复制单元格值到另一个单元格如果
- 29. 将货币从一个单元格移动到另一个单元格
- 30. CollectionView里面的tableview单元格不增加高度collectionView
谢谢你的回答。我做了你所说的一切,但当我点击单元格时它崩溃了。当我注释掉viewWillAppear中的scrollToItemAtIndexPath部分时,segue可以工作,但所有单元格都从第二个视图控制器转到第一个单元格 –
这是我得到的错误:终止应用程序,由于未捕获异常'NSInvalidArgumentException',原因:'试图滚动到索引路径无效: