すべてのサイズの画像を遅延読み込みするUITableviewがあります。イメージが読み込まれると、特定のセルを更新する必要があるので、reloadRowsAtIndexPathsを使用する必要があるとわかりました。しかし、このメソッドを使用すると、すべての単一セルに対してheightForRowAtIndexPathメソッドが呼び出されます。 reloadRowsAtIndexPathsの目的は、指定した特定の行のheightForRowAtIndexPathだけを呼び出すことだと思いましたか?iOS UITableView reloadRowsAtIndexPaths
理由は何ですか?
[self.messageTableView beginUpdates];
[self.messageTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:count inSection:0]] withRowAnimation:UITableViewRowAnimationNone];
[self.messageTableView endUpdates];
あなたは試してみましたここでは、このように見えることができるもののための基本的な概要はのみを使用して.. [self.messageTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:count inSection:0]] withRowAnimation:UITableViewRowAnimationNone]; –
beginUpdatesとendUpdatesでラップするのではなく、はい、私はそれを試みましたが、それはまだすべての単一のセルの高さをやり直そうとします。この特定のセルだけのためにheightForRowAtIndexPathを呼び出すことを期待しているので、本当に迷惑です。 – Jesse
これは、この1つのセルに対してheightForRowAtIndexPathを呼び出すだけでよいと信じていますか?それとも、テーブル内のすべてのセルに対してこのメソッドを再度呼び出しますか? – Jesse