为NSTextField

时间:2016-08-09 02:46:16

标签: swift nstextfield

哇,我真的跌倒了兔子洞。我试图将UI的一部分和文本字段的背景上的文本作为另一部分,例如生日:

enter image description here

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

myTextFieldName.editable = true
myTextFieldName.backgroundColor = NSColor.textBackgroundColor()

我得到类似的东西: enter image description here

这一切都很好,但后来我注意到它下方文本字段周围的细边框。所以我想,我需要一个边界!我添加一个:

myTextFieldName.bordered = true

......我得到了:

enter image description here

的Pow!多么可怕的奇怪厚边!它看起来不像默认的文本字段边框!对于我的生活,我无法弄清楚如何使我的“激活”文本字段的边框与默认值相匹配。有什么想法吗?

非常感谢提前!

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

您可以向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