【发布时间】:2019-05-27 20:21:49
【问题描述】:
我正在尝试在 HUD 样式的半透明窗口中显示文本。我已经设置了窗口的代码,但是我已经搜索了两天的文档,还没有想出一种可以在窗口中实际显示文本的方法。由于我在脚本调试器中使用 AppleScriptObjC,而不是 Xcode,我宁愿以编程方式执行此操作,而不必切换到 Xcode 并使用 IB。 (我确实花了一些时间在玩 IB,但说实话并不是很直观。所以我想在阅读如何开始使用 IB 的指南之前先检查一下这个表格)。
所以我得到了一些建议,“创建一个 NSTextField 并将其添加到窗口的 contentView”。因此,我尝试了许多不同的设置来尝试初始化 NSTextField(和 NSTextView),并且我可能已经能够正确处理该部分,但是让文本实际显示在窗口中比我预期的要大。我已经包含了我用来生成窗口的代码的代码片段。
tell (NSWindow's alloc()'s ¬
initWithContentRect:{{theWidth, theHeight}, {640, 480}} ¬
styleMask:NSBorderlessWindowMask ¬
backing:NSBackingStoreBuffered ¬
defer:true)
setOpaque_(yes)
setAlphaValue_(0.5)
setBackgroundColor_(NSColor's grayColor())
setReleasedWhenClosed_(yes)
setExcludedFromWindowsMenu_(yes)
orderFrontRegardless()
delay 1
|close|()
end tell
我希望能够在该窗口中获得一个 NSText 视图,以便在其中显示一些文本。到目前为止,我还没有接近。我通常得到的错误是关于“发送到实例的无法识别的选择器”。所以很明显我做错了什么。我希望有一种我还没有遇到过的简单方法来实现这一点。
【问题讨论】:
-
当我在脚本编辑器或脚本调试器中运行完整的脚本(我只发布了一个 sn-p)时,我会显示 NSWindow。您可以从脚本编辑器或脚本调试器中调用 AppKit 框架。如果您想尝试一下,我可以发布完整的脚本。
标签: nswindow nstextfield nstextview applescript-objc