0

我正在为 react-native-macos 搭建一座桥梁。我需要具有与 Spotlight 相同行为的 NSPanel。我以编程方式创建了它,但有问题:

  1. 不能让它总是在顶部(如果应用程序被隐藏它也应该工作)
  2. 面板内有 NSTextField。如果我尝试隐藏标题面板,我将无法更改该字段。好像禁用了。
  3. 显示结果的最佳方式是什么(例如在聚光灯下)
private var panel = NSPanel()
private var textField = NSTextField(frame: NSMakeRect(0,0,400,40))

var frame: NSRect = CGRect(x: 0, y: 0, width: 400, height: 40)
frame.size = NSSize(width: 400, height: 60)
panel.setFrame(frame, display: true)
  
let view: NSView = NSView(frame: frame)
    
myTextField.stringValue = "Some text"
myTextField.isEnabled = true
myTextField.font = NSFont.systemFont(ofSize: 28)
    
view.addSubview(myTextField)

panel.contentView?.addSubview(view)

panel.makeKeyAndOrderFront(panel)
panel.center()
4

2 回答 2

0

这对我有用

panel.level = .mainMenu
于 2020-07-25T14:01:26.773 回答
0

让它漂浮

panel.isFloatingPanel = true           // << this one !!
panel.makeKeyAndOrderFront(panel)
panel.center()
于 2020-07-23T16:56:23.257 回答