簡體   English   中英

滾動到 UICollectionView 中的下一個單元格

[英]Scrolling to next cell in UICollectionView

我在容器視圖中有一個 UICollectionView。 它的大小使我一次只能看到一個單元格。 我已禁用垂直滾動,因此只發生水平滾動。

一切都很好,我在單元格中水平滾動。 這種滾動的缺點是我可以滾動並到達一個位置,在那里我看到兩個單元格的一半,中間有間隙。

我想要實現的是一次只顯示一個單元格,而從不顯示兩個半單元格。 所以滾動應該一次帶我到下一個單元格。

希望這是有道理的。

請讓我知道是否有人嘗試過或可以幫助我實現相同的目標。 謝謝。

您可以通過設置pagingEnabled = YES一次滾動一個單元格。 或者對於常規滾動,您可以通過覆蓋targetContentOffsetForProposedContentOffset:withScrollingVelocity:來調整減速結束的UICollectionViewLayout 使用后一種方法時,您通常會執行以下操作:

  1. 確定最近指數路徑proposedContentOffset 如果您的單元格之間沒有間隙,您可以使用[UICollectionView indexPathForItemAtPoint:] 否則,您可能必須以某種方式檢查您的布局,以確定您想要滾動到哪個索引路徑。
  2. 通過獲取該索引路徑的布局屬性來確定要滾動到的索引路徑的框架
  3. 確定將給定框架定位到所需位置的內容偏移量。

確保單元格之間的填充也設置為零。 啟用分頁將在多個視圖邊界處停止。

    // Set up flow layout
            var flowLayout:UICollectionViewFlowLayout = UICollectionViewFlowLayout();
            flowLayout.minimumInteritemSpacing = 0
            flowLayout.minimumLineSpacing = 0

            collectionView = UICollectionView(frame: view.bounds, collectionViewLayout: flowLayout)

            collectionView!.pagingEnabled = true

在此處查看我的答案: ScrollView 或 CollectionView?

聽起來您啟用了分頁,但頁面大小與單元格大小以及單元格左右兩側的插圖不匹配。

斯威夫特 5:

collectionView.isPagingEnabled = true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM