您好,登錄后才能下訂單哦!
小編給大家分享一下UITableViewCell在編輯狀態下如何修改背景顏色,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
一、先看下效果圖
二、網上很多下面這種答案
UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath]; cell.selectionStyle = UITableViewCellSelectionStyleNone;
這樣設置,藍色的選中圖標也不會出現.
這種僅限于不編輯的時候,讓TableViewCell沒有灰色高亮.
三、具體實現:
(1).在創建cell的時候設置selectedBackgroundView
RealTimeControlTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId]; if (cell == nil) { cell = [[RealTimeControlTableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellId]; cell.contentView.backgroundColor = [UIColor clearColor]; UIView *backGroundView = [[UIView alloc]init]; backGroundView.backgroundColor = [UIColor clearColor]; cell.selectedBackgroundView = backGroundView; }
(2).自定義一個UITableVIewCell重寫
- (void)setSelected:(BOOL)selected animated:(BOOL)animated { if (!self.editing) { return; } [super setSelected:selected animated:animated]; if (self.editing) { self.contentView.backgroundColor = [UIColor clearColor]; self.textLabel.backgroundColor = [UIColor clearColor]; self.detailTextLabel.backgroundColor = [UIColor clearColor]; } }
(3)還要重寫下面方法 因為在長按cell的時候也會高亮,出現灰色的背景
-(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{ return; }
對上面第二步代碼說明:
1.在非編輯狀態下,默認不會出現選中效果,直接return.
return 以后還是會繼續調用
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 在這里處理cell的點擊事件 }
2.要實現選中的藍色圖標出現,以及添加cell到選中cell的數組.
調用系統的默認方法
[super setSelected:selected animated:animated];
3.在編輯狀態下修改cell的contenView為clear,清除選中時候的灰色背景.
看完了這篇文章,相信你對“UITableViewCell在編輯狀態下如何修改背景顏色”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。