You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法修改UITableViewCell中UIButton的UIControlStateHighlighted状态图片

问题:自定义UITableViewCell内UIButton的Highlighted状态图片无法生效

我用XIB创建了一个名为YesNoCell的自定义UITableViewCell,并且给它绑定了独立的类文件。我在Interface Builder里给这个Cell内的UIButton设置了默认背景图片,显示一切正常。

之后在使用这个Cell的ViewController里,我写了下面的代码:

_yesNoCell = (YesNoCell *)[tableView dequeueReusableCellWithIdentifier:@"YesNoCell"];
// 下面这行代码完全不生效
[_yesNoCell.btnYes setImage:[UIImage imageNamed:@"action_selected"] forState: UIControlStateHighlighted];
[_yesNoCell.btnYes addTarget:self action:@selector(btnYesTap:) forControlEvents:UIControlEventTouchUpInside];

目前按钮的点击事件btnYesTap:能正常触发,IB里设置的默认背景图也能正常显示,但就是没办法实现按钮按下未松开(UIControlStateHighlighted状态)时切换显示另一张图片的效果,上面的代码完全没作用。

我还尝试过给按钮添加UIControlEventTouchDown事件,在对应的方法里手动修改图片,结果同样无效:

[_yesNoCell.btnYes addTarget:self action:@selector(changeImage:) forControlEvents:UIControlEventTouchDown];

我查了相关技术帖子,但都没找到能解决我这个问题的方案,恳请各位大佬帮忙看看!

内容的提问来源于stack exchange,提问作者Tejas K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:52:36