如何取消tableView点击cell的选中效果
2个回答
展开全部
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
自定义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
展开全部
UITableView面选择某cell点击立刻取消该cell选状态使用:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//some functions
......
// 取消选状态
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//some functions
......
// 取消选状态
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询