Search code examples
swiftinversion-of-controlcollectionview

iOS-Swift-The location of collectionView header


I want to add the header in the collectionView but I have no idea how to delete the blank space between navigation bar and cell. Does any one give me some advice? Thanks.

The ViewController is below.

class CelebrityVC: UIViewController, ButtonDelegate, UICollectionViewDataSource, UICollectionViewDelegate {

var  collectionView:UICollectionView!
let reuseIdentifier_header = "CelebrityHeader"
let reuseIdentifier = "listviewcell"

override func viewDidLoad() {
    super.viewDidLoad()

    MakeBarButton(self)

    let screenWidth = getScreenWidth()
    let screenHeight = getScreenHeight()
    let flowLayout = CSStickyHeaderFlowLayout()

    collectionView = UICollectionView(frame: CGRectMake(0, self.navigationController!.navigationBar.frame.size.height+statusBarHeight() ,screenWidth,  screenHeight-(self.navigationController!.navigationBar.frame.size.height+statusBarHeight())), collectionViewLayout: flowLayout)
    collectionView.backgroundColor=UIColor.whiteColor()
    collectionView.delegate=self
    collectionView.dataSource=self
    self.view!.addSubview(collectionView)

    let nib = UINib(nibName: "ListViewCell", bundle: nil)
    collectionView.registerNib(nib, forCellWithReuseIdentifier: reuseIdentifier)

    let nib_header = UINib(nibName: "CelebrityHeader", bundle: nil)
    collectionView.registerNib(nib_header, forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: reuseIdentifier_header)

    self.collectionView?.registerClass(CelebrityHeader.self, forSupplementaryViewOfKind: CSStickyHeaderParallaxHeader, withReuseIdentifier: reuseIdentifier_header)

enter image description here


Solution

  • Just add this in you ViewDidLoad method

    self.automaticallyAdjustsScrollViewInsets = NO;