macos开发-NSButton设置image在某些旧系统上不显
2023-01-28 本文已影响0人
Jesscia_Liu
场景
- 点击按钮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
}()