単純なテーブル ビューを想像してみてください。いくつかのセルがあり、単一選択が有効になっています。つまり、セルをタップすると、選択されたままになります。つまり、デフォルト コントロールを使用している場合は青色になります。別のセルをタップすると、前のセルが選択解除され、現在のセルが選択されます。
さて、それを完成させるために(Apple、Apple :-/...)つまり。現在選択されているセルの選択を解除するには、簡単なコードを使用できます
-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *touchedCell = [self.tableView cellForRowAtIndexPath:indexPath];
if (touchedCell.isSelected == YES)
{
[self.tableView deselectRowAtIndexPath:indexPath animated:NO];
return nil;
}
else
{
return indexPath;
}
}
ただし、キャッチがあります。このメソッドは、iOS6 SDK でのみ使用できます。この方法がないiOS5 SDKの最もシンプルでエレガントなソリューションを教えてください。