2017-06-20 18 views
0

UICollectionViewでカルーセル/ 1行/セクションを取得する方法は非常に多くあります。しかし、おそらく、あなたは方法がありますか?UICollectionViewFlowLayout水平/水平1行

私は、次のしている:

@IBAction func openCollectionView(_ sender: Any) { 
    let layout = UICollectionViewFlowLayout() 
    layout.scrollDirection = .horizontal 
    layout.itemSize = CGSize(width: 50, height: self.view.frame.height) 
    collectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout) 

    collectionView!.delegate = self 
    collectionView!.dataSource = self 
    collectionView!.register(PDCollectionViewCell.self, forCellWithReuseIdentifier: "cellIdentifier") 

    collectionView?.contentOffset.x = 20 

    collectionView?.reloadData() 
    collectionView?.layoutIfNeeded() 

    collectionView!.addBlurEffect() 
    self.view.addSubview(collectionView!) 

} 
+1

それは非常に簡単ですが、あなただけの必要があるでしょうcollectionViewのレイアウトをhorizo​​ntalに設定し、VCのdataSourceメソッドでセクションを1、itemsInSectionのために 'yourDataArray.count'を返します –

答えて

0

OK - 十分なシンプル:

layout.itemSize = CGSize(width: (self.view.frame.size.width/2)+50, height: (self.view.frame.size.height/2)+50) 

そして、もっと複雑な細胞のために:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 
    return CGSize(width: 100, height: 100) 
}