我使用 Interface Builder 创建一个 IBAction
@IBAction func slider(sender : NSSlider) {
var x:Double = Double(self.slider.value())
}
现在我想获取并使用它的当前值。有没有人对在 OSX 上使用 SWIFT 学习 Cocoa 开发有好的建议?在教程中,我看到了对 UISlider 和 UIButton 的引用,但 Interface Builder 在代码中创建了对 NSButton 和 NSSlider 的引用。我很困惑。提前谢谢你。
最佳答案
所有以“UI”为前缀的控件都是 UIKit 框架的一部分,用于开发 iOS 应用程序。如果您正在为 OS X 开发,您将使用 AppKit,它首先出现并使用“NS”前缀作为其控件。目前可能还没有很多 Swift OS X 开发教程,但无论您选择 Swift 还是 Objective-C,您使用的 Cocoa 框架都是相同的。
NSSlider 没有value()
方法,但它确实有一个doubleValue
属性,这正是您所需要的。当 slider 的值发生变化时,将调用您设置的方法:
@IBAction func slider(sender : NSSlider) {
var x: Double = sender.doubleValue
// do something
}
如果您想在任意时间获取 slider 的值,您需要设置一个 IBOutlet
:
@IBOutlet var slider: NSSlider
关于objective-c - 如何在带有 OSX 的 SWIFT 中使用 Cocoa slider 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24337034/