gpt4 book ai didi

swift - OSX Cocoa NSSearchField 清除按钮不响应点击

转载 作者:搜寻专家 更新时间:2023-10-31 21:56:51 26 4
gpt4 key购买 nike

我放置了一个 NSSearchField 并将其边框设置为 none,我发现清除按钮不可点击,也就是点击时没有响应。如果我再次设置边框,它工作正常。

enter image description here

我已经调试了几个小时,发现当我将边框设置为无时,文本编辑器的宽度会扩大并遮蔽(覆盖)清除按钮。

截图

enter image description here

查看层级调试截图

enter image description here

重现步骤:

  1. 创建一个空的 cocoa 项目/应用
  2. 放置一个 NSSearchField
  3. 将边框设置为无
  4. 运行应用,填写搜索字段并尝试点击清除按钮

这是一个错误吗?还是它打算那样做?

注: cocoa 开发新手

最佳答案

我遇到了这个问题,并将其视为 Cocoa 中的错误。但是很容易在自定义控件或 View Controller 中修复。只需在界面生成器中保留文本字段的边框,然后通过新的 CALayer 取消边框。例如:

class ViewController: NSViewController {


@IBOutlet weak var searchField: NSSearchField!

override func viewDidLoad() {
super.viewDidLoad()

let maskLayer = CALayer()
searchField.layer = maskLayer
maskLayer.backgroundColor = searchField.backgroundColor?.CGColor
}
}

如您所见,我只是在新图层中恢复控件颜色,没有保留任何其他内容。它并不完美,但至少提供了良好的开端。

关于swift - OSX Cocoa NSSearchField 清除按钮不响应点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38921355/

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