2012-04-28 13 views
3

セルをクリックすると選択されますが、タッチアップすると青色のままです。私は青色のハイライトをタッチアップのままにしておきたい(ただし、最初にハイライトすることが重要です)。テーブルビューのセルがタッチアップ時にハイライトを失うことはありません

この最後の回答in this postには何か約willSelectRowAtIndexPath:が記載されていますが、私が望むようにそれを使用する方法を理解できません。また、私はまだ呼び出すにはdidSelectRowAtIndexPath:が必要ですが、私はちょうどタッチアップでハイライトを解除するセルをしたい。

答えて

5

使用は、適切な場合、次の

[tableView deselectRowAtIndexPath:indexPath animated:YES]; 

例えばdidSelectRowAtIndexPath

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
     [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 

これにより、指定したインデックスパスの行が選択解除されます。

さらにUITableViewControllerclearsSelectionOnViewWillAppearに興味があるかもしれません。このプロパティをyesに設定すると、テーブルが表示されたときにコントローラは選択をクリアします。デフォルトではYESに設定されています。

Reference