我刚刚开始在mac os上进行开发,我为触摸条创建了一个简单的应用程序,允许您更改标签的颜色(使用nscolorpicker),该标签也在触摸栏上。
现在我希望在实际窗口上获得相同的效果:我使用触摸条上的选择器更改颜色,窗口中颜色的颜色也会发生变化。
这是我目前用于触摸栏操作的代码:
import Cocoa
@available(OSX 10.12.2, *)
class MainWindowController: NSWindowController {
@IBOutlet weak var cptHello: NSColorPickerTouchBarItem!
@IBOutlet var lblHello: NSTextField!
override func windowDidLoad() {
super.windowDidLoad()
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
cptHello.color = NSColor.white
setCol()
}
func setCol(){
lblHello.textColor = cptHello.color
}
@IBAction func colorPicked(_ sender: Any) {
setCol()
}
}
这段代码驻留在与窗口控制器配对的MainWindowController.swift中。
在视图控制器中,我有一个NSColorWell,我想更改函数“setCol()”内部的颜色。我在视图控制器中为它创建了一个插座,如下所示:
@IBOutlet var cwHello: NSColorWell!
理想情况下,我想要实现的是这样的事情:
func setCol(){
lblHello.textColor = cptHello.color
ViewController.cwHello.color = cptHello.color
}
这可以完成吗?