2015-04-03 68 views
1

禁用補充視圖(例如標題)的正確性是什麼?有一次我想展示給他們(iPhone),有一次我不想展示給他們(iPad)。禁用補充視圖

我現在唯一的想法是在referenceSizeForHeaderInSection返回零大小。但我認爲創建視圖是一種開銷,根本不用。另一方面,我必須執行collectionView:viewForSupplementaryElementOfKind:atIndexPath:,我不能返回nil,因爲應用程序崩潰了。

如何禁用UICollectionView中的補充視圖?

回答

1

如果您從collectionView:layout:referenceSizeForHeaderInSection:返回CGSizeZero委託方法collectionView:viewForSupplementaryElementOfKind:atIndexPath:將不會被調用。

+0

你說得對。我沒有檢查過。 – testing 2015-04-03 12:03:55

0

蘋果開發API參考指出約collectionView(_:layout:referenceSizeForHeaderInSection:)

如果在適當的滾動尺寸的大小爲0,不添加報頭。


以下雨燕4的代碼片段顯示,以顯示或不UICollectionView補充意見可能實現的collectionView(_:layout:referenceSizeForHeaderInSection:)

// MARK: - UICollectionViewDelegateFlowLayout 

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize { 
    if UIDevice.current.userInterfaceIdiom == UIUserInterfaceIdiom.pad { 
     return CGSize.zero 
    } else { 
     let flowLayout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout 
     return flowLayout.headerReferenceSize 
    } 
}