tableView我們經常要用到,然后很多地方我們並不需要點擊cell的時候有帶灰的選中效果,那么這里我介紹一下3種方法 如何取消cell的選中效果
1,通過更改tableViewCell的selectionStyle屬性進行設置(自己親測了一下,只有none和default兩種style可用):
自定義cell里面:
- (void)awakeFromNib { [super awakeFromNib]; self.selectionStyle = UITableViewCellSelectionStyleNone; }
2,設置tableView的allowsSelection屬性 注意:屬性為NO的時候 tableView的代理方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 就不會執行 ,所以如果需要有cell點擊事件的 不要用此方法
tableView.allowsSelection = NO;
3,更改cell屬性selectedBackgroundView 的背景色
我們選中cell時有灰色效果就是因為selectedBackgroundView這個家伙,所以,我們可以通過設置改View的背景色來改變選中顏色
self.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.frame];
self.selectedBackgroundView.backgroundColor = [UIColor redColor];
注意點:
1, 在storyboard設置tableView屬性的時候 如果這樣設置
selection: NoSelection 會導致點擊cell的時候沒反應 不會調用 didSelectRowAtIndexPath 方法 要想有點擊方法應設置成 selection: SingleSelection
