簡體   English   中英

實現Apple TV collectionview橫向無限滾動

[英]Achieve Apple TV collectionview horizontal infinite scroll

我正在嘗試使用Apple TV的新布局來實現水平滾動。 已經嘗試在每個單元格內使用帶有多個集合視圖的表格視圖,但是由於與蘋果電視的交互不同,我無法將焦點放在集合視圖中的單元格和單元格上。

現在我試圖創建一個包含多個部分的集合視圖,但到目前為止,我的集合視圖有兩個部分並且水平滾動,但結果不一樣。

有沒有人有更好的方法呢?

謝謝

AppleTV 示例

我的收藏視圖

使用 UITableView 或 UICollectionView 可以獲得您想要的結果。 我已經使用 UITableView 實現了水平無限滾動。 這是一個復雜的 UI 開發,我沒有您遇到困難的詳細信息,因此這里有一些一般提示:

每一行都被實現為一個 UITableViewCell,它包含一個無限滾動的 UICollectionView,它跨越整個行寬(但沒有更多)。

確保防止表格視圖單元格變得可聚焦(覆蓋 canBecomeFocused)。 該行中的產品單元格應該變得可聚焦。

將 UICollectionView scrollDirection 設置為水平以允許無限水平滾動 這可能是最重要的細節。

請注意,對於水平滾動的 UICollectionView, minimumRowSpacing 和 minimumInterItemSpacing 具有相反的含義,這是違反直覺的。 所以collectionView.minimumRowSpacing設置一行中產品之間的水平間距。

使用 UICollectionView.contentInsets 設置行的水平邊距(以及垂直邊距)

UITableView vs UICollectionView

如前所述,每個水平滾動行都是一個 UICollectionView,但您可以使用 UITableView 或 UICollectionView 實現垂直布局。 每個實現都有優點+缺點。

UITableView 的主要優點是它在滾動時自動添加頂部 + 底部淡出漸變,這非常好。 UICollectionView 沒有。

UITableView 的主要缺點是它會自動在任意兩行之間添加 14px 的空間。 此行為未記錄且不可更改。 如果這是一個交易破壞者,請改用 UICollectionView 來布置行。

UITableView 實現的代碼更清晰。 UITableView 更容易定義行。 此外,當為垂直布局和每個水平滾動行使用 UICollectionView 時,UICollectionView 回調變得更加復雜,因為它們被水平滾動行和實現垂直布局的 UICollectionView 調用。

暫無
暫無

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

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