1

カスタム開発された UI コントロールでテーブルビューを使用しています。
私の tableView のデフォルト フレームは {0,0,0,0} です。そのため、表示されません。UIview のアニメーション クラス メソッドをブロック (animateWithDuration:delay:..etc..) と共に使用して、この tableview をアニメーション化しています」アニメーション ブロックには、{0,0, 320, 250} への frame.size の変更のみが含まれます。明らかに、テーブルビューのフレームが変更されると、いくつかのセルが表示されます。

さらに、4 つの UILabels を含むカスタム UIView があります。ラベルが下にスナップしています。cellForRowAtIndexPath: このカスタム ビューをセルのコンテンツ ビューに追加し、コンテンツ ビュー フレームに合わせてこのカスタム ビューのサイズを変更します。

customView.frame = cell.frame;
[cell.contentView addSubview:customView];

私の問題は、セルの高さが異なるため(heightForRowAtIndexPathで解決)...特定のセルの特定のカスタムビューがフレームを変更し、メインアニメーション中にラベルを垂直に数ピクセル下に効果的に移動することです。

私がテーブルビューを提示しているときに、彼らがすでにその場所にいることを望んでいます.~

これを達成する方法は?

4

1 に答える 1

0

セルの autoresizingMask プロパティを使用する必要があります。または:

カスタム テーブル ビュー セルを作成し、それらのビューを追加して、セルの layoutSubviews で処理できます。

于 2013-04-22T12:37:15.707 に答える