1

1 つのセルに UITableView が含まれているセルの UITableView があります。テーブルを含む行を選択すると、アイテムのリストを含む新しいビューが画面にプッシュされます。ユーザーはアイテムのリストを選択し、「戻る」を押してそのビューをポップします。親ビューは選択されたアイテムの数を見て、セルの高さは選択されたすべてのアイテムを表示するように調整されるはずです。

ビューが再表示されると、リストされたアイテムが下のセルに拡張されます。そのセルを画面からスクロールしてから戻すと、セルは正しい高さになり、すべてのアイテムが正しく表示されます。

メインテーブルのviewWillAppearに[self.view setNeedsDisplay]や[self.view setNeedsLayout]のようにコードを入れるなど色々試してみましたがだめでした。

ビューが表示されたら、テーブルをスクロールせずにそのセルを適切なサイズに再描画する方法を見つけることができないようです。

実際に表示される前に再描画を強制する他の方法はありますか?

4

1 に答える 1

0

試す:

NSIndexPath *theIndexPath = [NSIndexPath indexPathForRow:cellRow inSection:cellSection];
NSArray *theIndexPaths = [NSArray arrayWithObject:theIndexPath];
[table reloadRowsAtIndexPaths:theIndexPaths withRowAnimation:NO];

セルを再描画するために現在何を使用していますか?画面から消えて再びオンになったときに、それ自体が再描画されるのを待っているだけですか?または、[table reloadData] ;のようなものを使用していますか?

于 2012-04-12T19:27:39.923 に答える