2016-11-23 8 views
-1

私は映画について簡単な教育アプリケーションを作成しようとしています。私はムービーフレームの水平スクロールを作成する必要があります。UITableView内のUICollectionViewCellサイズを自動サイズ調整する

私はそのためのコレクションビューを作成:この問題を解決する方法 enter image description here

:私は(例えばiPhone 6Sプラス)別のターゲットのためにそれを構築する場合enter image description here

をしかし、私はこれを持っていますか?

マイシーンコントローラコード(スウィフト3)

public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
    return 4 
} 

public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) 
    cell.backgroundColor = UIColor.black 

    // Configure the cell 
    return cell 
} 

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 

    return UITableViewAutomaticDimension 
} 
+2

問題点は何ですか? :) –

+0

私は、コレクションビューのすべてのスペースを取ったセルを、画面の片面から別の面に移動したい。 – IlyaGutnikov

答えて

1

私はあなたがUICollectionViewデリゲートのメソッドを実装しようとすることができると思います。

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 
    return CGSizeMake(yourHeight, self.view.frame.size.width) 
} 

このようにして、tableView内のコレクションビューセルは画面と同じくらい大きく表示されます。

+0

私はこのコードを追加: 'パブリックFUNCのcollectionView(_ collectionView:UICollectionView、レイアウトcollectionViewLayout:UICollectionViewLayout、sizeForItemAt indexPath:IndexPath) - > CGSize { リターンCGSize.init(幅:600、高さ:500) }' を これは機能しません。 – IlyaGutnikov

+0

UICollectionViewのデリゲートを初期化していますか? 愚かな質問を申し訳ありませんが、何かが発生します:) –

+0

いいえ、ちょうどdataSource。今私はそれを実装しようとする – IlyaGutnikov

0

まず、私はあなたが正確にそれがどのように動作するかを理解していない場合には、使用UITableViewAutomaticDimensionについて何かを言いたいです。

おそらく、UITableViewAutomaticDimensionはtableView全体をtableView全体のサイズで作ることを推論しますが、このようには動作しません。

UITableViewAutomaticDimensionはtableViewを推論するだけで、セルの内部サイズはここで返されます。そのため、いくつかの制約、制約のあるビュー、またはあなたのtV内部のものを追加すると、そのサイズが使用されます。

と第二 - あなたの投稿コードがcollectionViewのセルに関連していないので、あなたのコメントは、私にとってまったく意味がないと私はそのセルの大きさに関連する何かをコメントすることはできません

EDITED: collectionViewFlowLayoutのデリゲートメソッドから正しいサイズを返す、あなたのスクリーンの幅を持つすべてのセルを作るために

- sizeForItem

関連する問題