gpt4 book ai didi

macos - 添加到父 View 时,以编程方式创建的 NSView 不会出现

转载 作者:行者123 更新时间:2023-11-28 13:09:58 38 4
gpt4 key购买 nike

我的 ViewController 中有以下代码

@IBAction func showView(sender: AnyObject) {
show()
}

func show() {

let viewHeight: CGFloat = self.view.frame.height
let viewWidth: CGFloat = self.view.frame.width
let posX: CGFloat = self.view.frame.origin.x
let posY: CGFloat = self.view.frame.origin.y
let viewFrame: CGRect = CGRectMake(posX, posY, viewWidth, viewHeight)

let view: NSView = NSView(frame: viewFrame)
view.layer?.backgroundColor = NSColor.redColor().CGColor

self.view.addSubview(view)

}

我不明白为什么点击 showView 按钮后 NSView 没有出现?作为健全性检查,我尝试将调用(​​以及稍后的代码)移至 viewDidLoad 方法,但同样无济于事。

我错过了什么?

最佳答案

问题是你从来没说过

view.wantsLayer = true

因此您的 View 没有图层,并且向图层应用背景颜色没有效果,因为(正如我刚才所说)您的 View 没有图层。所以风景就在那里,但您看不到;它是透明的,就像隐形人一样。

关于macos - 添加到父 View 时,以编程方式创建的 NSView 不会出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31708777/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com