2

カスタム背景ビューを持つカスタム UITableViewCell に問題があります。drawRect:

ユーザーが呼び出したセルを選択したとき

[tableView beginUpdates];
[tableView endUpdates];

で異なる高さを返しますtableView:heightForRowAtIndexPath。これにより、セルが新しい高さにアニメーション化されます。

これはすべて魅力のように機能しますが、backgroundView のサイズ変更に問題があります。現在、セルのアニメーション中に backgroundViews コンテンツが伸びます。これは私が望んでいるものではなく、恐ろしいものです。アニメーション中に backgroundView のコンテンツを再描画する必要があります。これは可能ですか?

次の画像で問題を説明しました。

図.

更新: これが起こることがわかりました:

  1. 細胞は大きな細胞として始まります。すべてが良く見え、みんな幸せです。
  2. ユーザーがセルをクリックします。
  3. backgroundView は新しい高さで再描画されます。
  4. セルがアニメーション化して小さくなります。そのため、アニメーション中は背景ビューが引き伸ばされた状態になります。

この動作を反映するように画像を更新しました。

4

1 に答える 1

1

contentModeビューの設定を試しましたか?デフォルトではスケーリング動作になります。詳細については、カスタム描画された UITableViewCell のサイズを適切に変更する方法を参照してください。.

于 2012-08-30T12:05:25.967 に答える