从窗口控制器中查看控制器中的Swift访问对象

时间:2017-07-01 13:31:36

标签: swift macos cocoa nstouchbar

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

}

这可以完成吗?

0 个答案:

没有答案