3

セルをクリックすると選択されますが、タッチアップしても青色のままです。青いハイライトをタッチアップしたままにしておきたい(ただし、最初にハイライトすることが重要です)。

この投稿のこの最後の回答は、について何かを述べていますがwillSelectRowAtIndexPath:、それを使用して自分のやりたいことを行う方法がわかりません。また、私はdidSelectRowAtIndexPath:まだ呼び出される必要があります。タッチアップ時にセルのハイライトを解除するだけです。

4

1 に答える 1

6

必要に応じて、以下を使用してください。

[tableView deselectRowAtIndexPath:indexPath animated:YES];

didSelectRowAtIndexPath

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

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

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

参照

于 2012-04-28T17:20:56.467 に答える