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

如何禁用UIButton点击时的高亮效果?已尝试多方案仍未解决

iOS按钮状态切换异常排查
  • 先检查按钮类型:如果Storyboard里按钮是System类型,默认会自带高亮、选中的样式效果,哪怕你设置了透明背景和0边框也会有视觉干扰,改成Custom类型试试。
  • 确认highlightedAdjustsImage的设置时机:要在viewDidLoad这类初始化方法里设置,别等到点击事件触发后才设置,晚了不会生效。另外Storyboard里如果勾选了「Adjust Image When Highlighted」,最好手动取消,避免和代码设置冲突。
  • 图片切换逻辑别混着来:要么在初始化时就把Normal和Selected状态的图片都配置好(不管是代码还是Storyboard),点击时只切换isSelected;要么完全用代码控制每次点击的图片,但要注意给对应状态设图。举个正确的代码示例:
    // 初始化配置(比如viewDidLoad里)
    button.setImage(UIImage(named: "normal_icon"), for: .normal)
    button.setImage(UIImage(named: "selected_icon"), for: .selected)
    button.highlightedAdjustsImage = false
    button.backgroundColor = .clear
    button.layer.borderWidth = 0
    
    // IBAction里只做状态切换
    @IBAction func toggleButton(_ sender: UIButton) {
        sender.isSelected = !sender.isSelected
    }
    
  • 检查IBAction里的执行顺序:如果是先改图片再切换isSelected,可能会被系统的状态逻辑覆盖,建议先切换isSelected再设置图片(或者直接用状态对应图片的方式,不用手动改图)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 11:20:03