Ade*_*aer 5 macos cocoa nsview swift
我曾经为 iOS 开发,但我不明白为什么我不能NSView在主视图中轻松更改s 的背景颜色。
假设我有一个带有主视图的视图控制器。在此视图中,我添加了 3 个自定义视图,并设置了它们的约束以适合主视图。
我为我的视图控制器创建了 3 个插座:
@IBOutlet weak var topView: NSView!
@IBOutlet weak var leftView: NSView!
@IBOutlet weak var rightView: NSView!
Run Code Online (Sandbox Code Playgroud)
在那之后,我试图设置这些视图的背景,但不能这样做。当我运行应用程序时,我没有看到任何颜色变化。
这是我添加的用于显示自定义视图颜色的代码:
override func viewDidLoad() {
super.viewDidLoad()
self.view.wantsLayer = true
self.topView.layer?.backgroundColor = NSColor.blue.cgColor
self.rightView.layer?.backgroundColor = NSColor.green.cgColor
self.leftView.layer?.backgroundColor = NSColor.yellow.cgColor
}
Run Code Online (Sandbox Code Playgroud)
它什么也没显示(我的视图上没有背景颜色):
我不明白为什么这段代码不起作用。为什么设置 an 的颜色如此困难NSView(而在 iOS 开发中却如此简单)?我正在使用 Xcode 8 并使用 Swift 3 编写代码。
您应该为您的子视图wantsLayer设置为,而不是为您的超级视图。true
self.topView.wantsLayer = true
self.rightView.wantsLayer = true
self.leftView.wantsLayer = true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2064 次 |
| 最近记录: |