1. 程式人生 > >UITableViewCell 自定義點選狀態時背景顏色

UITableViewCell 自定義點選狀態時背景顏色

今天做一個需求,類似這個樣子
這裡寫圖片描述

tableViewCell點選時背景顏色不是系統預設的那兩種(藍,灰)。
卡了將近一個小時左右。上網找帖子,發現很多帖子都是選中時改變背景顏色,再點選下一個cell之前的那個cell顏色並不變回來 點了一圈 所有的cell就都成點選的顏色了。後來解決了之後發現 其實蠻簡單的。
上程式碼:

// cell點選時
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView == _sortTableView) {
        UITableViewCell
*cell = [tableView cellForRowAtIndexPath:indexPath]; cell.backgroundColor = RGB(1, 174, 159, 1.0); } }

然後當取消點選狀態時

// 當cell取消選中狀態時
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView == _sortTableView) {
        UITableViewCell
*cell = [tableView cellForRowAtIndexPath:indexPath]; cell.backgroundColor = [UIColor whiteColor]; } }

就這樣就好啦。 哎,其實蠻簡單的一個問題,不知道為什麼 沒人詳細的解釋一下。