Swift 为NSTextField设置边框

Swift 为NSTextField设置边框,swift,nstextfield,Swift,Nstextfield,哇,我真的掉进兔子洞了。我正在尝试将文本放在UI的一部分的背景上,并将文本字段作为另一部分,例如,在: 然后我想重新调整文本文件的用途,以允许文本输入。所以我做了一些类似的事情: myTextFieldName.editable = true myTextFieldName.backgroundColor = NSColor.textBackgroundColor() 我得到的结果是: 这很好,但我注意到它下面的文本字段周围有一个很薄的边框。所以我想,我需要一个边界!我加上一条: myTe

哇,我真的掉进兔子洞了。我正在尝试将文本放在UI的一部分的背景上,并将文本字段作为另一部分,例如,在:

然后我想重新调整文本文件的用途,以允许文本输入。所以我做了一些类似的事情:

myTextFieldName.editable = true
myTextFieldName.backgroundColor = NSColor.textBackgroundColor()
我得到的结果是:

这很好,但我注意到它下面的文本字段周围有一个很薄的边框。所以我想,我需要一个边界!我加上一条:

myTextFieldName.bordered = true
…我得到:

战俘!多么可怕奇怪的厚边界!它看起来根本不像默认的文本字段边框!就我的一生而言,我不知道如何使我的“激活”文本字段的边框与默认字段的边框匹配。有什么想法吗


非常感谢

需要设置边框和边框颜色:

myTextFieldName.wantsLayer = true
myTextFieldName.layer?.borderColor = NSColor(red:204.0/255.0, green:204.0/255.0, blue:204.0/255.0, alpha:1.0).cgColor
myTextFieldName.layer?.borderWidth = 1.0
myTextFieldName.layer?.cornerRadius = 0.0

如果需要圆角,请设置圆角半径。

您可以向NSTextfield添加边框,并根据需要自定义边框

 let border = CALayer()
 border.borderColor =  NSColor.gray.cgColor
 border.autoresizingMask = [.layerHeightSizable, .layerWidthSizable]
 border.borderWidth = 1.0

 myTextFieldName.wantsLayer = true
 myTextFieldName.layer?.addSublayer(border)
 myTextFieldName.layer?.masksToBounds = true

现在,我真的掉进了兔子洞,试图访问文本框的图层,但谢谢!我刚看到你的问题。。您可能需要添加:
myTextFieldName.needsLayer=true
Whoa。。。我不知道可以将UIColor与NSTextField一起使用。因为您显式设置了帧,如果不更新帧,则一旦NSTextField的大小发生变化,此选项将立即中断。