我想從我的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',原因:'試圖滾動到索引路徑無效: