【问题标题】:How do I resize foremost window using AppleScriptObjC (such as NSWindow of Appkit)?如何使用 AppleScriptObjC(如 Appkit 的 NSWindow)调整最前面窗口的大小?
【发布时间】:2017-08-09 10:44:29
【问题描述】:

如果它是可脚本化的,我们可以使用 AppleScript 轻松调整窗口大小,但是,我想知道 NSWindow 是否可以做同样的事情?或者类似 NSWindow 的东西?我只在https://developer.apple.com/documentation/appkit/nswindow上找到了“Creating Windows”,所以我怀疑这个想法的可行性。

【问题讨论】:

  • AppKit 中的 NSWindow 只能控制当前进程中的窗口(即应用只能控制自己的窗口),无论使用 ObjC、Swift 还是 AppleScriptObjC。在 AppleScript 中,不可编写脚本的应用程序的替代方法是通过System Events 编写 GUI 脚本

标签: xcode macos nswindow appkit


【解决方案1】:

如果您使用自己的 NSWindows 制作 AppleScript Objective C 应用程序,您可以通过脚本控制它们的操作。所以首先在 Script 中为 Window 创建一个属性。

property theWindow : missing value

在 Interface Builder(带有窗口的 xib 文档)中,将属性 theWindow 链接到窗口。 (右键单击委托(左侧的蓝色立方体)并将新属性拖到侧边栏中的窗口上(不要将其拖到窗口视图上,否则它将不起作用)

在脚本中你可以告诉窗口做什么,比如改变它的大小和位置:

theWindow's setFrame_display_({{13, 14}, {23, 24}}, true)

这会将窗口大小设置为 23 x 24,并将其位置(原点)设置为 13 x 14

(如果是相反的,请纠正我,我有一段时间没用这个了)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-09
    • 2023-03-24
    • 1970-01-01
    • 2013-06-24
    • 2011-10-06
    • 2012-07-02
    • 2011-02-25
    • 2014-01-01
    相关资源
    最近更新 更多