gpt4 book ai didi

macos - Swift/OSX - 在定制的 NSSecureTextField 上禁用聚焦环

转载 作者:行者123 更新时间:2023-11-28 08:56:58 24 4
gpt4 key购买 nike

我正在尝试 NSTextFields 的一些样式来获得像 Material Design 那样的单行文本字段。使用普通的 NSTextFields 我没有问题,效果很好。我将 NSTextFieldCell 子类化并绘制我的自定义单元格(只是在底部有一个 1px 的边框)。

代码是这样的:

override func drawWithFrame(cellFrame: NSRect, inView controlView: NSView) {
//let path:NSBezierPath = NSBezierPath.init(rect: cellFrame)
//path.fill()
var customRect = cellFrame
customRect.origin.y = cellFrame.size.height - 1
customRect.origin.x = 0;
let usedColor:NSColor = NSColor.grayColor()
usedColor.setFill()
let path = NSBezierPath.init(rect: customRect)
path.fill()

super.drawWithFrame(cellFrame, inView: controlView);
}

我在界面生成器中添加子类并将其分配给我的 TextField(Cell)。一切都适用于普通文本字段。

但现在我想对 NSSecureTextFields 做同样的事情,但结果很奇怪。聚焦环是可见的,即使我将它设置为 NONE。

NSSecureTextFieldCell 的源代码与上面的相同(当然区别在于我将 NSSecureTextFieldCell 子类化,而不是将 NSTextFieldCell 子类化),但为什么它不显示单元格底部的行?当我将 CustomCell-Class 分配给 Cell 时,为什么会出现该死的聚焦环?我就是不明白,这让我抓狂。

Download Xcode Project File here (36 KB)

最佳答案

你可以使用下面的代码来移除viewDidLoad中的聚焦环

self.SecuredTextField.focusRingType = NSFocusRingType.None

关于macos - Swift/OSX - 在定制的 NSSecureTextField 上禁用聚焦环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32799951/

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