カスタムセルでテーブルを作成しました。セルごとに、現在クリックされているセルを上に移動するアニメーションを作成しました。問題は、たとえばインデックス行2を持ち、インデックス1の親セルに戻る現在のアニメーションセルにあります。
アニメーションセルが親の前にあることを望みます。iPhone画面のサイズである480pxを超えてテーブルを下にスクロールし、インデックス行2の同じセルをもう一度クリックすると、セルは親セルとうまく重なります。問題は下の図に示されています。
1 に答える
0
セルを取得して、ビュー階層の最前面に移動する必要があります。ただし、セルを取得することはすぐにはわかりませんtableView:cellForRowAtIndexPath:
。コントローラーを呼び出すことはできません。これは、新しいセルをデキューまたは作成するためです。代わりに行う必要があるcellForRowAtIndexPath:
のは、テーブル ビュー自体を呼び出して、アニメーションを開始する前に前面に移動することです。
UIView* theCell = [tableView cellForRowAtIndexPath:someIndexPath];
[theCell.superview bringSubviewToFront:theCell];
nil
画面に表示されていない場合に返されるため、アニメーション化するすべてのセルに対してこれを安全に行うことができます。
于 2012-07-07T11:21:17.797 に答える