【发布时间】:2020-06-05 02:59:13
【问题描述】:
我正在尝试为 Mac Catalyst 应用添加 Touch Bar 支持。
并且 NSSliderTouchBarItem 被标记为可用于催化剂,但滑块的 doubleValue 不可用。还有其他方法可以从中获得价值吗?
【问题讨论】:
标签: swift macos uikit appkit mac-catalyst
我正在尝试为 Mac Catalyst 应用添加 Touch Bar 支持。
并且 NSSliderTouchBarItem 被标记为可用于催化剂,但滑块的 doubleValue 不可用。还有其他方法可以从中获得价值吗?
【问题讨论】:
标签: swift macos uikit appkit mac-catalyst
更多精彩使用 Mhd Hejazi 的动态Library
touchBarVolumeSlider = NSSliderTouchBarItem(identifier: identifier)
touchBarVolumeSlider.label = "V"
touchBarVolumeSlider.action = #selector(changeSliderValue)
touchBarVolumeSlider.setValue(0.5, forKey: "doubleValue")
Dynamic(touchBarVolumeSlider).slider.setContinuous(false)
现在该动作仅在滑块停止移动时调用 changeSliderValue。我查看here 以获取有关底层方法和属性的详细信息。
【讨论】:
要获取滑块的位置,请使用:
@objc func changeSpeed(sender: NSSliderTouchBarItem) {
let value = sender.value(forKey: "doubleValue") as! Double
print(value)
}
设置它的位置:
slider.setValue(0.5, forKey: "doubleValue")
值在0到1之间
【讨论】: