首页 > 解决方案 > NSTextField 不可见

问题描述

我最近开始编写 Swift 代码。所以我正在开发一个 macOS 应用程序来更习惯 Swift。

我希望在用户按下按钮时创建一个 NSTextField 。我得到了下面的代码,但 NSTextField 没有显示。虽然研究我发现它必须以某种方式添加到视图中,而不是如何完成。

@IBAction func buttonPressed(_ sender: Any) {
    let label = NSTextField()
    label.stringValue = ("Hello World")   
}

如何使 NSTextField 显示?任何帮助将不胜感激。

标签: swiftmacosnstextfield

解决方案


只需将标签转换为支持图层的视图即可。然后将其添加到可见视图中:

let rect = NSMakeRect(20, 20, 80, 44)
let label = NSTextField(frame: rect)
label.wantsLayer = true
label.layer?.backgroundColor = NSColor.greenColor().CGColor
window?.contentView?.addSubview(label)

推荐阅读