2016-04-21 82 views
1

有不同的細胞大小這是我能夠通過做一個教程如何在FlowLayout中

This is the Screenshot of the app

但我必須做出第一個,而且每家小區是全寬。我應該怎麼做?

的代碼是這個

class MainViewController: UICollectionViewController 
{ 

    // data source 
    let publishers = Publishers() 

    private let leftAndRightPaddings: CGFloat = 32.0 
    private let numberOfItemsPerRow: CGFloat = 2.0 
    private let heigthAdjustment: CGFloat = 100 

    // MARK: - View controller life cycle 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let width = (CGRectGetWidth(collectionView!.frame) - leftAndRightPaddings)/numberOfItemsPerRow 
     let layout = collectionViewLayout as! UICollectionViewFlowLayout 
     layout.itemSize = CGSizeMake(width, heigthAdjustment) 
     print(width.description) 

    } 

    // MARK: - UICollectionViewDataSource 

    override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int { 
     return 1 
    } 

    override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return publishers.numberOfPublishers 
    } 

    private struct Storyboard 
    { 
     static let CellIdentifier = "PublisherCell" 
    } 

    override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell 
    { 
     let cell = collectionView.dequeueReusableCellWithReuseIdentifier(Storyboard.CellIdentifier, forIndexPath: indexPath) as UICollectionViewCell 

     return cell} 

} 

回答

0

您需要在您的UICollectionViewDelegateFlowLayout

實現這個 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize方法