1

我刚刚开始在 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

}

这完全可以做到吗?

4

0 回答 0