本のリストを表示するtableViewがあり、各テーブルセルには「本の名前」と「本の説明」が含まれています。セルの高さは本の説明の長さによって決まるため、セルの高さは異なります。
すべてのセルには背景画像もあり、もちろんセルの高さに応じてスターチされます。
次のように、セル drawRect に背景画像を描画しています。
- (void)drawRect:(CGRect)rect
{
UIImage *bgImage = [UIImage imageNamed:@"cell_BG.png"];
bgImage = [bgImage stretchableImageWithLeftCapWidth:60.0 topCapHeight:60.0];
[bgImage drawInRect:rect];
}
このコードは機能します。問題はスクロールのパフォーマンスです。私が望むほどスムーズではありません。
主な問題は高さの変化であることに気付きました。これにより、再利用可能なセルを含むすべてのセルに対して drawRect 呼び出しがトリガーされるようです。
(すべてのセルに同じ高さを設定しようとすると、スクロールのパフォーマンスが大幅に向上しましたが、動的な高さを使用する必要があります...)
テーブルのスクロールが改善されるように、これを行うためのより良いアプローチはありますか?