2017-01-03 17 views
0

私は、各スワイプを中心に画像ビューを持っている必要があり、コレクションビューの水平スワイプを達成しようとしています動的に設定コレクションビューのセルサイズ

私は手動でセルを設定することにより、一つのデバイスサイズにこれを行うことができます私は、デバイスを変更した場合、デバイスのサイズ

までの高さ+幅がしかし、セルサイズは、私は、各デバイスに変更するには、セルのサイズを維持することができますどのように不均衡な

のですか?しない:私は、セルの幅と高さの

おかげ

答えて

2

私のアドバイスを、100%を取るしたいと思います。あなたが記述しているのは、コレクションビューよりもはるかにUIPageViewControllerに似ています。また、UIPageViewControllerを使用して、説明していることは簡単です。実際には自動的に発生します。

1

コレクションビューのカスタムフローレイアウトを作成し、ビューコントローラにデリゲートを割り当てます。

これにより、要件に基づいてレイアウトを動的に変更することができます(場合によっては、デバイスごとに異なるサイズ)。具体的には、collectionView(UICollectionView, layout: UICollectionViewLayout, sizeForItemAt: IndexPath)メソッドでは、各項目のセルサイズを変更できます。私はマットの答えに同意しておりますが

extension ViewController : UICollectionViewDelegateFlowLayout { 
    func collectionView(UICollectionView, layout: UICollectionViewLayout, sizeForItemAt: IndexPath) -> CGSize { 
     return CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height) 
    } 
} 
2
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize 
{ 

     return CGSizeMake(self.view.frame.size.width) , (self.view.frame.size.height)) 
} 

:それはこのようになります。しかし、このコードでもこれを行うことができます。 拡張機能を作成する必要はありません。このコレクションビューのデリゲートメソッドをオーバーライドするだけです

関連する問題