UICollectionViewCell
自動レイアウトを使用して、サブビューのサイズに基づいて のサイズを変更するにはどうすればよいですか?
私UICollectionViewCell
のそれぞれの には、ビューが 1 つしかありませんcontentView
。UIView
これは、自動レイアウトを使用してすべてのサブビューに合わせて自動的にサイズを変更する私のカスタムサブクラスです。また、-intrinsicContentSize
正しく実装されます。ただしUICollectionView
、またはそのレイアウトは、これを気にしていないようです。
私は を使用していてUICollectionViewFlowLayout
、試しました:
itemSize
をデフォルト値のままにします。これにより、サイズが 50 x 50 のセルが得られます。- デリゲート メソッドの実装
-collectionView:layout:sizeForItemAtIndexPath:
。ただし、このメソッドが呼び出されると、セルは (明らかに) まだ画面に表示されておらず、自動レイアウト システムによって更新されていません。
標準の Apple クラスを使用して、サブビューに基づいてセルのサイズを変更する方法はありますか? それとも、独自のUICollectionViewLayout
サブクラスを実装する必要がありますか?