私はこの質問が何百回も前に尋ねられたことを知っていますが、それは実際には解決されていません(または少なくとも私が望む方法で)。かなり複雑なUITableViewCellの設定があります。はcell.backgroundView、かなりの量のCoreGraphicsとCoreTextを使用するUIViewサブクラスからロードされます。コードにはCTFramesetterSuggestFrameSizeWithConstraintsがたくさんあるので、メソッドでクラスを複製することをお勧めしheightForRowAtIndexPathます。
indexPathをキー、高さを値としてNSMutableDictionaryを作成することで、これを解決できると思います。しかし、それから私はheightForRowAtIndexPath最初に呼ばれるという問題に直面しています。セルの高さを推測し、セルのUIViewサブクラスのレンダリングが終了したら、委任を使用してセルの高さを設定することで、この問題を解決できると思います。
しかし、これは私に問題を残します、どうやってこれを委任するのですか?また、スクロールが極端に途切れるのを防ぐにはどうすればよいですか?セルが作成され、一瞬でサイズ変更されるためです。