2017-06-29 52 views
0

對不起UI和GUI問題的涌入,但我最近在看一個名爲Ganna的應用程序,在下面的這張圖片中,我想知道如何在Recently Played下面獲得隨機Ganna Around The Globe橫幅水平集合視圖和高於Top Charts水平集合視圖。如何在任何UICollectionViewCell下插入隨機視圖

enter image description here

它的組織方式是,有多個水平收集意見,如Recently PlayedTop Charts水平收集視圖主集合視圖。

我想如果indexPath是0(這意味着你在Recently Played水平集合視圖),那麼你會插入該集合視圖下面的Ganna Around the Globe橫幅。但是這會很困難,因爲根據是否存在該橫幅,我必須返回不同高度的單元格。此橫幅在3個不同的水平集合視圖下出現3次。

你們有什麼想法嗎?謝謝!

+0

我認爲有2個集合視圖不是1,並且之間有一個橫幅! –

+0

嗨!你可以讓我知道上圖中有2個收集視圖嗎? – CapturedTree

+0

你是說有一個集合視圖有2個水平集合視圖的權利。我是說在空間之間有兩個收集視圖和橫幅。得到 ? –

回答

1

我不能說這是如何實現這個特定的例子。但我會這樣做的方式非常簡單。

您將擁有一個帶動態單元格的TableView,它涵蓋了從導航欄到標籤欄的整個屏幕。創建兩個自定義單元格,第一個自定義單元格包含一個collectionView。第二個單元格將以您希望顯示該橫幅的任何方式佈置。

在您的tableViewDelegate的cellForRow方法中,您將cellView中的collectionView的委託設置爲任何需要的值。

之後剩下的唯一東西就是heightForRow方法中的一小塊邏輯。類似於

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
    if (indexPath.row == kBannerCellIndex) { 
     return showBanner ? kBannerHeight : 0 
    } 
    // the rest of any height logic 
    return defaultCellHeight 
}