gpt4 book ai didi

swift - 以编程方式使用 NSTextField 的 NSPopover

转载 作者:可可西里 更新时间:2023-11-01 02:05:09 26 4
gpt4 key购买 nike

创建了一个函数来显示一个带有文本字段的小弹出窗口。弹出窗口正确显示,但文本字段没有。弹出 View Controller 也是动态创建的,这是我尝试过的:

func showLittlePopoverWithMessage(sender: AnyObject, message: String) {
let controller = NSViewController()
controller.view = NSView(frame: CGRect(x: CGFloat(100), y: CGFloat(50), width: CGFloat(100), height: CGFloat(50)))

let popover = NSPopover()
popover.contentViewController = controller
popover.contentSize = controller.view.frame.size

popover.behavior = .transient
popover.animates = true

// let txt = NSTextField(frame: NSMakeRect(100,50,50,22))
let txt = NSTextField(frame: controller.view.frame)
txt.stringValue = message
txt.textColor = NSColor.white.withAlphaComponent(0.95)
controller.view.addSubview(txt)
txt.sizeToFit()
popover.show(relativeTo: sender.bounds, of: sender as! NSView, preferredEdge: NSRectEdge.maxY)
}

pict of the problem

所以我的问题是为什么文本字段没有出现。

最佳答案

好吧,伙计们,我自己的错误。文本域太大且位置不佳,因此发送的“消息”不可见。通过以这种方式初始化 NSTextField 修复:

let txt = NSTextField(frame: NSMakeRect(10,10,50,22))

现在按预期工作。很抱歉回答我自己的问题,但我解决了。事实上,我没想到 field 几乎不在视野范围内,所以我将 field 设置为边界,然后我能够看到他的下角。

关于swift - 以编程方式使用 NSTextField 的 NSPopover,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43456762/

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