设置新创建的原点windowCocoa/Applescript
Set the origin of newly created window Cocoa/Applescript
我正在尝试在 Cocoa/AppleScript 类型的应用程序中创建具有给定来源的新 window。
我有主笔尖 window 和另一个叫 hud
的笔尖。使用 main window 中的按钮,我以这种方式打开新的 window (hud):
set winn to NSWindowController's alloc()'s initWithWindowNibName_("hud")
winn's showWindow_("jkb")
window 出现了。
我想在屏幕上的不同位置显示它,但没有任何运气。我已经尝试了这两者的所有组合:
set myOrigin to {x:330,y:330}
或 set myOrigin to {330,330}
每行如下:
current application's winn's class "NSWindow"'s class "NSView"'s setFrameOrigin_(mySize)
--class "NSView" of class "NSWindow" of winn 不理解“setFrameOrigin_”消息
current application's winn's NSWindow's setFrameOrigin_(myOrigin)
--winn的NSWindow不理解“setFrameOrigin_”消息
current application's winn's class "NSView"'s setFrameOrigin_(myOrigin)
--class "NSView" winn不理解“setFrameOrigin_”消息
current application's winn's jkb's class "NSView"'s setFrameOrigin_(myOrigin)
--class "NSView" of jkb of winn 不理解“setFrameOrigin_”消息
current application's jkb's class "NSView"'s setFrameOrigin_(myOrigin)
--class "NSView" jkb 不理解“setFrameOrigin_”消息
current application's jkb's NSView's setFrameOrigin_(myOrigin)
--jkb的NSView不理解“setFrameOrigin_”消息
current application's jkb's class "NSView"'s setFrameOrigin_(myOrigin)
--class "NSView" jkb 不理解“setFrameOrigin_”消息
winn's jkb's class "NSView"'s setFrameOrigin_(myOrigin)
--this class 与键 jkb 的键值编码不兼容。
当我查看 log ... frame
时,我看到了物体,为什么它们不响应 setFrameOrgin_()
?
解决此问题的两种方法:
- 通过IB:
- 以编程方式:
子类 NSWindowController
并在 windowDidLoad:
中设置原点 window setFrame:
这适用于我的应用程序:
theWindow's setFrameTopLeftPoint:{60,460}
其中 theWindow
是 NSWindow
的 实例(从 window 控制器中检索)
请记住 {0,0} 是此方法主屏幕的左侧底部。
我终于解决了这个问题。在 hud
nib 中,我将 window 绑定到与主委托不同的新脚本中的 property hudWindow: missing value
。在此脚本中,我创建了另一个方法 awakeFromNib()
。当它被调用时,我终于可以指向正确的对象 (hudWindow
) 并设置它的参数。谢谢
我正在尝试在 Cocoa/AppleScript 类型的应用程序中创建具有给定来源的新 window。
我有主笔尖 window 和另一个叫 hud
的笔尖。使用 main window 中的按钮,我以这种方式打开新的 window (hud):
set winn to NSWindowController's alloc()'s initWithWindowNibName_("hud")
winn's showWindow_("jkb")
window 出现了。
我想在屏幕上的不同位置显示它,但没有任何运气。我已经尝试了这两者的所有组合:
set myOrigin to {x:330,y:330}
或 set myOrigin to {330,330}
每行如下:
current application's winn's class "NSWindow"'s class "NSView"'s setFrameOrigin_(mySize)
--class "NSView" of class "NSWindow" of winn 不理解“setFrameOrigin_”消息
current application's winn's NSWindow's setFrameOrigin_(myOrigin)
--winn的NSWindow不理解“setFrameOrigin_”消息
current application's winn's class "NSView"'s setFrameOrigin_(myOrigin)
--class "NSView" winn不理解“setFrameOrigin_”消息
current application's winn's jkb's class "NSView"'s setFrameOrigin_(myOrigin)
--class "NSView" of jkb of winn 不理解“setFrameOrigin_”消息
current application's jkb's class "NSView"'s setFrameOrigin_(myOrigin)
--class "NSView" jkb 不理解“setFrameOrigin_”消息
current application's jkb's NSView's setFrameOrigin_(myOrigin)
--jkb的NSView不理解“setFrameOrigin_”消息
current application's jkb's class "NSView"'s setFrameOrigin_(myOrigin)
--class "NSView" jkb 不理解“setFrameOrigin_”消息
winn's jkb's class "NSView"'s setFrameOrigin_(myOrigin)
--this class 与键 jkb 的键值编码不兼容。
当我查看 log ... frame
时,我看到了物体,为什么它们不响应 setFrameOrgin_()
?
解决此问题的两种方法:
- 通过IB:
- 以编程方式:
子类 NSWindowController
并在 windowDidLoad:
中设置原点 window setFrame:
这适用于我的应用程序:
theWindow's setFrameTopLeftPoint:{60,460}
其中 theWindow
是 NSWindow
的 实例(从 window 控制器中检索)
请记住 {0,0} 是此方法主屏幕的左侧底部。
我终于解决了这个问题。在 hud
nib 中,我将 window 绑定到与主委托不同的新脚本中的 property hudWindow: missing value
。在此脚本中,我创建了另一个方法 awakeFromNib()
。当它被调用时,我终于可以指向正确的对象 (hudWindow
) 并设置它的参数。谢谢