【发布时间】:2014-07-25 04:38:44
【问题描述】:
更改 NSView 的角半径应该非常简单,但是我收到错误消息“致命错误:无法打开 Optional.None”。我是否有机会使用 10.9 而不是 10.10 来执行此操作,并且由于框架差异而发生这种情况?或者代码错误。
class aRoundView: NSView {
let cornerRad = 5.0
init(frame: NSRect) {
super.init(frame: frame)
self.layer.cornerRadius = cornerRad
}
override func drawRect(dirtyRect: NSRect)
{
super.drawRect(dirtyRect)
NSColor.redColor().setFill()
NSRectFill(dirtyRect)
}
}
编辑
调用它
func applicationDidFinishLaunching(aNotification: NSNotification?) {
let aView = mainViewTest(frame: NSMakeRect(0, 0, 100, 100))
self.window.contentView.addSubview(aView)
}
其实不止如此。 self.layer 的任何迭代都会给出相同的结果、背景色等。
【问题讨论】:
-
具体是什么调用导致了错误?
-
你能找出导致错误的行吗?我将你的代码粘贴到了操场上,它没有给我任何错误。
-
在该初始化中将是
self.layer即nil。它是图层支持的视图吗?在通话之前尝试self.wantsLayer = true。