Xcode的nib编辑器中,“initial position”是什么作用?

7

当我编辑一个基于文档的Cocoa应用程序时,我发现当我选择一个窗口或面板时,Xcode会让我设置它的“初始位置”:

一个窗口在nib中的截图,被选中,并且在Size Inspector中有“Initial position”面板。

这与窗口的Frame是不同的,因为它在其上方,那么这是什么呢?

“initial position”由什么使用,两个弹出菜单及其可能的值意味着什么?

当我运行我的应用程序并且我的文档为此nib创建NSWindowController(第二个)时,该窗口从主文档窗口级联出现,而不是在初始位置。这是因为我的应用是基于文档的(即,“Initial Position”将被非属于文档的窗口使用),还是有其他原因?

2个回答

5

初始位置是窗口默认出现在屏幕上的位置。如果用户的屏幕尺寸与您的不同,弹出控件将决定如何调整位置。

可以将屏幕想象成一个巨大的NSView,您的窗口位于其中。初始位置是窗口的框架起点,而弹出控件则相当于自动调整大小掩码。


我的窗口出现在左上角。 - Peter Hosey
可能是因为你的应用程序是基于文档的。文档窗口往往会级联显示,而不是出现在一个固定的位置。"初始位置"值对于你的应用程序只有一个窗口的情况更有用,例如关于框或首选项面板。 - Lily Ballard
你有没有更深入的了解,AppKit 何时应用这些值?我问这个问题是因为我正在尝试找出一个好的位置来编程设置初始位置,而不是使用 IB。 - Klaas
@Klaas 我的假设是在调用 awakeFromNib 时它已经被设置好了,但我不能确定。 - Lily Ballard

0

我刚刚把初始位置改成了0, 0,问题立即得到了解决。看起来它希望从左下角开始。我尝试了其他设置,调整了宽度和高度属性。

http://prntscr.com/8unin6


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接