NSSlider:如何同时发送值和动作?

Posted

技术标签:

【中文标题】NSSlider:如何同时发送值和动作?【英文标题】:NSSlider: how to send value and action at the same time? 【发布时间】:2017-06-25 14:28:27 【问题描述】:

我认为这很简单,但似乎并非如此。 我有一个 NSSlider,我想在标签中显示我想要的值,就像在这个 picture 中一样。使用picture 中所示的设置,它可以正常工作,使用绑定takeIntValueFrom。现在我希望这个滑块设置一个新的 UserDefaults 值:

 @IBAction func sliderAction(_ sender: NSSlider) 

        UserDefaults.standard.set(sliderOutlet.intValue, forKey: "sliderkey")

        print(UserDefaults.standard.integer(forKey: "sliderkey"))
    

这个 actionfunc 删除了takeIntValueFrom-绑定。所以最终,要么是要么。直到现在,我还没有找到一个解决方案如何让它同时工作。很高兴能得到一些想法。

【问题讨论】:

【参考方案1】:

设置sliderAction中标签的值。

或者,为了更冒险,将滑块的值和标签的值绑定(绑定检查器)到具有相同键路径的共享用户默认控制器。滑块的动作未连接。

【讨论】:

非常感谢您,尤其是您回答的第二部分。这真的很优雅。

以上是关于NSSlider:如何同时发送值和动作?的主要内容,如果未能解决你的问题,请参考以下文章

IOS:如何仅使用轻击手势同时允许触发的转场和发送的动作

Laravel 表单动作发送值和 id

如何通过 Swift 使用 NSSlider 为 NSImage 类调整亮度?

NSSlider 动画

将 NSSlider 增加 0.1? macOS、斯威夫特

ExtJS:如何同时提交:组合框值和文本