为什么在缩放后基于自动布局的NSWindow重绘不正确?

时间:2012-08-04 11:30:50

标签: objective-c xcode cocoa autolayout

我已经从Xcode中的标准Cocoa应用程序模板创建了一个应用程序,并将其设置为使用自动引用计数。

我添加的是MainMenu.xib中窗口的工具栏和表格视图。如果我此时运行应用程序,应用程序看起来像这样:

enter image description here

然后单击标题栏中的绿色缩放按钮。窗口随后最大化并填充整个桌面。然后我再次单击缩放按钮。窗口缩小到原始宽度,但不缩小到原始高度。它不像它最大化时那么高,但比原始高度高得多:

enter image description here

然后我右键单击工具栏并隐藏它。工具栏会动画显示,但会立即再次显示。但是,无法单击按钮,拖动窗口无法移动窗口。就像工具栏实际上已停用一样。为了说明这一点,如果窗口在此状态下调整大小,它就是这样的:

enter image description here

为什么会发生这种情况,我应该怎么做以防止它?我使用的是OS X 10.8和Xcode 4.4,而不是开发人员的预览。

更新(2013年4月)看起来像this is actually a bug in Cocoa。 : - (

更新:(2013年6月)自10.8.4起,我无法再重现此问题。 : - )

1 个答案:

答案 0 :(得分:1)

您可以尝试在.xib文件文件检查器中禁用“使用自动布局”, 这是Xcode 4.4中的一个新功能,可能会导致您的Windows行为。