如何在SWIFT中使用OSX的Cocoa滑块控件

时间:2014-06-20 23:24:28

标签: objective-c macos cocoa swift

我使用Interface Builder创建IBAction

  @IBAction func slider(sender : NSSlider) {
    var x:Double = Double(self.slider.value())

}

现在我想获取并使用其当前值。有没有人对在OSX上使用SWIFT学习Cocoa开发有很好的建议?在教程中,我看到了对UISlider和UIButton的引用,但Interface Builder在代码中为NSButton和NSSlider创建了引用。我糊涂了。提前谢谢。

1 个答案:

答案 0 :(得分:3)

所有" UI"前缀控件是UIKit框架的一部分,用于开发iOS应用程序。如果您正在为OS X开发,那么您将使用AppKit,它首先出现并使用" NS"其控件的前缀。可能还没有很多关于Swift OS X开发的教程,但是无论您选择Swift还是Objective-C,您正在使用的Cocoa框架都是相同的。

NSSlider没有value()方法,但它确实具有doubleValue属性,这正是您所需要的。当滑块的值发生变化时,将调用您设置的方法:

@IBAction func slider(sender : NSSlider) {
    var x: Double = sender.doubleValue
    // do something
}

如果您想在任意时间获取滑块的值,则您需要设置IBOutlet而不是:

@IBOutlet var slider: NSSlider