macos开发-NSButton设置image在某些旧系统上不显示图片

场景

  • 点击按钮nsbutton显示选中状态图片,再次点击显示取消状态图片。

出现的问题

  • 设置按钮背景图片后,个别系统不显示按钮的图片,但可触发点击事件。

解决方法

  • 不使用onoff类型的按钮,使用switch类型的按钮即可解决。原因未知。
     lazy var shareScreenBtn: NSButton = {
         let btn = NSButton()
         btn.wantsLayer = true
         btn.image = NSImage.init(named: AppLanguage.shared.local("E_screenshare"))
         btn.alternateImage = NSImage.init(named: AppLanguage.shared.local("E_stopSharing"))
         btn.isBordered = false
         btn.target = self
         btn.action = #selector(shareScreenBtnClick(sender:))
//        btn.setButtonType(NSButton.ButtonType.onOff)  
         btn.setButtonType(NSButton.ButtonType.switch)
         btn.isHidden = true
         return btn
     }()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容