在启动时将子视图的宽度设置为等于窗口宽度

时间:2011-07-30 22:37:31

标签: objective-c cocoa window nswindow

我正在努力获得一个子视图(作为自定义工具栏[我需要一个NSView而不是NSToolbar])以INAppStoreWindow为中心..

正在正确添加子视图,并且仅当窗口与我在IB 中创建的自定义视图的宽度完全相同时才正确拉伸

如果窗口打开的范围比自定义视图宽,则无法正确拉伸。窗口似乎打开的状态与我离开的状态完全相同(在Lion中),这意味着我必须在启动时将自定义视图的宽度设置为恢复的窗口宽度。

同样重要的是,我放在笔尖视图中心的按钮等保持居中......

我该怎么做?

编辑:要清楚这一点,如何获得恢复窗口的宽度?我在nib文件中将其设置为480但是如果我调整窗口大小,退出然后重新启动应用程序,window.frame.size.width仍然返回480,而不是我退出的宽度..

非常感谢

1 个答案:

答案 0 :(得分:0)

我认为你没有在界面构建器中创建NSWindow,你可以覆盖-[NSView viewDidMoveToWindow]-[NSView viewWillMoveToWindow]来设置宽度,还有viewDidMoveToView个等价物更有意义,因为你将视图添加到NSWindows内容视图中,还有awakeFRomNib你可以覆盖哪一个可能是更好的选择,如果你只需要担心这个问题,当你从Nib文件。