在 macOS app (Swift) 中绘制彩色矩形



刚开始学习 Swift。我使用 Xcode 6 Beta 6 创建了一个 macOS 应用程序项目。现在我想使用ViewController.swift在应用程序主视图(Main.storyboard中的NSWindow(中绘制一个彩色矩形(用于测试目的(。

我试过这个:

override func viewDidLoad() {
   let myRect = NSView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
   myRect!.backgroundColor = NSColor.redColor().CGColor // app crashes here
   self.view.addSubview(myRect)
}

应用程序在第三行崩溃:EXC_BAD_INSTRUCTION

不仅是 Swift,Xcode 对我来说也是全新的,我将不胜感激任何帮助。

自从我问这个问题以来已经有一段时间了,但我注意到它最近得到了很多浏览量,所以提供一个实际的答案(Swift 4.2(可能对一群人有帮助:

override func viewDidLoad() {
   let myFrame = NSRect(x: 0.0, y: 0.0, width: 200.0, height: 200.0)
   let myRect = NSView(frame: myFrame)
   myRect.backgroundColor = NSColor.red
   self.view.addSubview(myRect)
}

尝试将代码放入 ViewDidAppear...

您正在尝试在尚未显示的视图上绘制一个矩形。

我想您在设置背景颜色之前错过了添加以下内容:

theRectangle.wantsLayer = true

最新更新