NSWindow设置的帧高于屏幕

时间:2011-06-10 07:41:20

标签: objective-c cocoa nswindow nswindowcontroller

我需要帮助。我有一个像Adium的应用程序与垂直滑块。但我的应用程序会根据内容更改窗口高度。如果屏幕高度小于我app'a窗口高度,我的窗口会自动降低高度。

当我尝试将setFrame用于我的窗口并将window.frame.size.height设置为高于屏幕高度时,没有任何反应。

所以问题是:如何设置窗框高于屏幕高度?

1 个答案:

答案 0 :(得分:7)

默认情况下,框架确保您无法将窗口大小调整为在屏幕框外。要更改此行为,请继承NSWindow,并覆盖constrainFrameRect:toScreen:方法以返回未更改的框架;像这样的东西:

- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen
{
  //return the unaltered frame, or do some other interesting things
  return frameRect;
}