moh*_*acs 2 macos cocoa nsview swift
更改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)
}
}
Run Code Online (Sandbox Code Playgroud)
叫它
func applicationDidFinishLaunching(aNotification: NSNotification?) {
let aView = mainViewTest(frame: NSMakeRect(0, 0, 100, 100))
self.window.contentView.addSubview(aView)
}
Run Code Online (Sandbox Code Playgroud)
实际上不仅如此.任何使用self.layer的迭代都会给出相同的结果,backgroundcolor等.
那是因为self.layer是一个当前未设置的Optnional值.self.wantsLayer = true之前添加self.layer.cornerRadius,以确保layer存在正确的.
init(frame: NSRect) {
super.init(frame: frame)
self.wantsLayer = true
self.layer.cornerRadius = cornerRad
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4903 次 |
| 最近记录: |