在OS X中使用故事板时如何为NSView创建背景

时间:2015-02-06 16:21:52

标签: objective-c xcode macos swift nsview

我知道如何以编程方式执行此操作。我知道在为iOS创建故事板时,它非常简单,就在属性检查器中。但是,在为OS X创建故事板时,我在Xcode 6.1.1中看不到任何视图控制器或其下面的视图

如何在不创建与之关联的视图控制器的情况下更改视图的背景。我的应用程序有很多简单的视图,但背景颜色从一个视图改变到下一个视图。

3 个答案:

答案 0 :(得分:6)

您不需要新的viewController来更改NSView的背景。如果您没有对NSView进行子类化,那么您只需调用:

myView.wantsLayer = true
myView.layer!.backgroundColor = CGColorGetConstantColor(kCGColorBlack)

我不确定您是否可以在故​​事板中严格执行此操作,但您可以使用用户定义的运行时属性在故事板中设置wantsLayer = true。

enter image description here

答案 1 :(得分:5)

这是达到同样效果的另一种方法。

在NSView下添加 NSBox ,并将NSBox的框架调整为与NSView相同。

将标题位置更改为无,将框类型更改为自定义,将边框类型更改为

这是截图:

enter image description here

然后添加你的NSView,NSButton,NSTextField或其他任何作为NSBox的子视图。

结果如下:

enter image description here

答案 2 :(得分:2)

如果您继承DateTime并将子类分配给视图,则可以在故事板中更改NSView的背景颜色:

enter image description here

enter image description here

使用此子类实现:

NSView

背景颜色在设计时但未在运行时显示。

也许有人知道如何在设计时更新视图(最好不要覆盖绘制方法)。