Cocoa OS X - 在Swift中更改窗口的背景

时间:2015-11-15 11:36:11

标签: swift cocoa uistoryboard nswindow

我正在使用Cocoa和Xcode为OS X制作应用程序,我希望在swift中使用alpha更改Windows背景颜色。我不知道如何从代码中调用窗口以及如何使用alpha值设置其背景颜色。我怎么能这样做?

这是我的app委托类,层次结构:

enter image description here

2 个答案:

答案 0 :(得分:4)

如果您使用的是故事板,可能AppDelegate不适合添加它。通过修改视图层可以轻松实现:

  1. 在Interface Builder中,选择Window的视图控制器所持有的子视图。
  2. 转到视图的效果检查器并启用核心动画层。
  3. enter image description here

    1. O(l*nlogn)方法viewDidLoad()中添加以下代码:

      (viewcontroller.swift)

答案 1 :(得分:0)

感谢核心动画的代码和图片。这解决了我的大部分问题。然后我发现因为后来有更多的窗口需要将代码移动到viewWillAppear。它在那里更容易预测。我从另一个关于SO的问题得到了这个信息,并且我认为我也会更新这个帖子,因为这是我问题的起点。

在效果检查器中为视图启用核心动画层后,将在viewController.swift中进行以下操作。

override func viewWillAppear(_ animated: Bool)
    super.viewWillAppear(animated)
    self.view.layer?.backgroundColor = NSColor.redColor().CGColor
}