你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> UITableViewCell在編輯狀態下背景顏色的修改方法

UITableViewCell在編輯狀態下背景顏色的修改方法

編輯:IOS開發綜合

本文主要介紹的是關於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,清除選中時候的灰色背景.

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對本站的支持。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved