如何取消tableView点击cell的选中效果

 我来答
就烦条0o
2018-07-30 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
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
嫡妍慧
2017-08-04 · 超过246用户采纳过TA的回答
知道小有建树答主
回答量:306
采纳率:66%
帮助的人:207万
展开全部
UITableView面选择某cell点击立刻取消该cell选状态使用:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//some functions
......

// 取消选状态
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式