を働いていると私は、行を選択する前:のObjective-C deselectRowAtIndexPathはちょっと私のcellForRowAtIndexPathで
NSArray *tempArray = [[communityPrefs objectForKey:@"Community"] componentsSeparatedByString:@","];
NSMutableArray *tempArrayMutable = [[NSMutableArray alloc] initWithArray:tempArray];
if ([tempArrayMutable containsObject:cell.textLabel.text])
{
[selectedAreaTable selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
}
この部分は素晴らしい作品。ただし、選択した項目はページの一番下にあり、ユーザーは表示されませんが、そのセルにスクロールすると選択されます。
for(NSIndexPath *index in selectedAreaTable.indexPathsForSelectedRows)
{
if(index.row != 0)
{
[selectedAreaTable deselectRowAtIndexPath:index animated:NO];
}
}
が、私はこのコードを実行した後、下部のセルがまだ選択されている:
今私はインクルードがそうのような選択されたすべてのセルの選択を解除するコードの一部を記述しようとしています。だから私の質問は、なぜこのセルの選択が解除されていないということですか?それはあなたがそれにスクロールするまでそこにないからですか?この問題を解決するにはどうすればよいですか?
どのようにテストしていますか?それが動作しないときのインデックスパスは何ですか? 'indexPathsForSelectedRows'にはいくつのインデックスパスがありますか? – Wain