2017-05-01 4 views
1

-tableView:willDisplayCell:forRowAtIndexPathの中に、私は[cell setSelected:YES animated:NO]をいくつかのセルに呼び出しています。-didDeselectRowAtIndexPathは、セルを手動で選択した後に呼び出されません

これが呼び出されるセルでは、-tableView:didDeselectRowAtIndexPathは押されなくても呼び出されなくなりました。

-willDisplayのコールが行われていないセルを選択し、後でそのセルの選択を解除することはできます。

ここで何が起こっているのかわかりません。なぜ私は-setSelected:animatedを使用すべきではないのかわかりません。私はここで何が欠けていますか?

+0

あなた 'didSelect'と' cellForRowAtIndexPath'方法を提供してください、私たちは、あなたがまたのtableViewのselectRowAtIndexPath(indexPath、アニメーションを呼び出す必要が – dava

+0

あなたを助けることができます。 false、scrollPosition:.Top)それ以外の場合、セルは選択できなくなります(デリゲートはtableView:didDeselectRowAtIndexPathまたはtableView:didSelectRowAtIndexPathに応答しません)。お役に立てれば。 – AjinkyaSharma

答えて

1

は、私は(も)あなたがコールする必要があると思う:

- (void)selectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition; 
+0

うわー。私の一部の見落としのビット。答えをありがとう。 – anomeric

関連する問題