複数のセクションがUITableViewあり、カスタムUITableViewCellサブクラスがテーブルに入力されています。これらのUITableViewCellサブクラス内でlayoutSubviews、ラベルの位置などをカスタマイズするために実装しています。
ビューの読み込み時に表示されるセルの最初のバッチを除いて、セルのすべてのサブビューが適切に調整されています。それらはストーリーボードでのレイアウトと同じですが、これは私が望んでいるものではありません。例えば:
http://i.stack.imgur.com/L5GJh.png
注:緑とオレンジの境界線は、ラベルのサイズが変更されているかどうかを視覚的に確認するためのものです。
スクロールすると、表示されるすべての新しいセルに、プログラムしたとおりのサブビューが表示されlayoutSubviewsます。表示されているセルの最初のバッチに関しては、それらを画面外にスクロールしてから再びオンにすると、サブビューが完全にレイアウトされます。例えば:
http://i.stack.imgur.com/jgjch.png
内で、メソッドがセルを返す前tableView: cellForRowAtIndexPath:に呼び出します。[cell layoutIfNeeded]これを に変更すると[cell layoutSubviews]、逆のことが起こり、表示されているセルの最初のバッチが本来あるべきように配置されますが、スクロール時にロードされるすべてのセルが適切に配置されません。
運が悪かったので[cell layoutIfNeeded]中に入れようとしました。[tableview: willDisplayCell:これを修正する方法についてのアイデアはありますか?
前もって感謝します!