2017-06-04 5 views
0

これはサイズではなくサイズに関するものです。私がオンラインに見てきたものから、異なるUICollectionViewCellが異なるレイアウトに適合するようにしますか?

は、規則は、レイアウトを上書きして使用して独自のカスタムプロパティを実装するために、通常は次のとおりです。

override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? { 

を、私は、カスタムレイアウト属性を設定することができました。ただし、layoutAttributesForElementはドキュメントに従って次のことを行います。

指定された矩形内のすべてのセルおよびビューのレイアウト属性を返します。

「は、細胞のすべてが」

私は二つの異なる細胞は、レイアウトの異なる2組同じビューに属性に合致するようにしたいです。

提案がありますか?

+0

このメソッドは、たとえばスクロールするときに呼び出されます。それは、私はユーザーに、セルとそこに表示するフレームは何を示すつもりですrectから、質問します。それは、細胞の種類を気にしません、それは単にフレームが必要であれば表示するように求めています。 – Larme

+0

このメソッドは、レイアウト属性を設定するときに私が見た唯一のメソッドです – Stefan

答えて

1

異なるセルプロトタイプを定義する必要があります。異なるレイアウト属性ではありません。それぞれ一意の識別子が必要です。次に、コレクションデータソースのcollectionView(_:cellForItemAtIndexPath:)に、コレクションビューのdequeueReusableCell(withReuseIdentifier:for:)を、指定したパスに必要な識別子で呼び出します。

+0

2番目のセルを登録して、それを私が設定したデフォルトのレイアウト属性に従うと呼びます。 – Stefan

+0

セルプロトタイプにレイアウト属性を設定しないでください。ちょうどautolayoutを普通に使ってください。 – NRitH

+0

UICollectionViewCellの自動レイアウト?私はそれを試して、それは動作しません。 – Stefan

関連する問題