2017-05-27 27 views
2

我的應用程序中的模式視圖控制器中有一個UICollectionView。當啓用模態視圖時,根據我從主視圖傳入模態視圖的某些數據將集合的單元格之一設置爲選中狀態。有什麼方法可以滾動到集合中選定的UICollectionViewCell?

我需要出現一次與收集模式視圖以編程方式滾動選定集合細胞眼簾......但使用scrollToItem(at:at:animated:)而集合視圖被填充(以cellForItemAt)似乎不工作。

因此,雖然我可以很容易地只使用indexPath提供給我的cellForItemAt滾動到選定的單元格填充的同時收集,因爲這是不可能的,我無法弄清楚如何滾動到當前選擇集收集後的細胞完全填充並呈現。

我甚至不能像循環遍歷所有集合單元格一樣使用笨手笨腳的方法,並檢查手動選擇哪個單元格,因爲它無法循環顯示當前不可見的單元格。

幫助?

回答

0

在頂部添加一個變量。

private var didLayoutFlag: Bool = false 

只是通過在viewDidLayoutSubviews方法的索引號(indexNO)。我正在使用水平滾動。

override func viewDidLayoutSubviews() { 
      super.viewDidLayoutSubviews() 
      if self.colllecitonView != nil { 
       if !self.didLayoutFlag { 
        self.colllecitonView.scrollToItem(at:IndexPath(item: indexNO, section:0), at:.right, animated: false) 
        self.didLayoutFlag = true 
       } 
      } 
     } 
+0

我不確定我是否錯過了一些東西,但是如何幫助我確定集合中選定的單元格?就像在我的問題不是我不知道把scrollToItem()放在哪裏,這是我不知道如何識別cellForItemAt範圍以外的選定單元格,一個特定的細胞發生。 – Foefirelord

相關問題