gpt4 book ai didi

swift - 如何使用 Swift 调整 slider 以显示 Mac OSX 上的当前亮度级别?

转载 作者:行者123 更新时间:2023-11-30 13:50:43 27 4
gpt4 key购买 nike

我创建了一个 slider ,可让我控制 Mac 上的亮度。我试图确保 slider 准确地代表当前的亮度级别。如果我通过键盘更改亮度,我希望 slider 反射(reflect)新的级别。

现在 slider 将显示当前的亮度级别,但仅在我单击 slider 后才显示。此外,我无法通过 slider 更改亮度。

@IBAction func brightnessSlider(sender: NSSlider) {
verticalSlider.floatValue = getBrightnessLevel()
setBrightnessLevel(sender.floatValue)
}

如果我删除尝试获取亮度的线,我可以从 slider 调整亮度级别,但它总是以最大亮度开始。

如何让 slider 既可调节又始终反射(reflect)亮度级别?

此外,here's a link如果有帮助,请查看完整来源。

编辑:当我使用以下代码单击菜单时,我可以让 slider 显示正确的亮度,但它在打开时仍然不会更新。另外,在关闭时更新似乎是个坏主意。

NSTimer.scheduledTimerWithTimeInterval(0.2, target: self, selector: Selector("updateBrightnessSlider"), userInfo: nil, repeats: true)

最佳答案

添加 NSRunLoop.currentRunLoop().addTimer(timer, forMode: NSRunLoopCommonModes) 似乎有效。因此,完整的代码片段如下:

let timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: Selector("updateBrightnessSlider"), userInfo: nil, repeats: true)
NSRunLoop.currentRunLoop().addTimer(timer, forMode: NSRunLoopCommonModes)

func updateBrightnessSlider() {
verticalSlider.floatValue = getBrightnessLevel()
}

关于swift - 如何使用 Swift 调整 slider 以显示 Mac OSX 上的当前亮度级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34323214/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com