2010-07-17 62 views
1

我试图构建一个可调整大小的碳窗口作为教程的一部分。我在Snow Leopard 10.6.4上使用Interface Builder 3.2.3。在碳模拟器中调整大小时窗口消失

如果我创建一个空的Carbon项目并从库中添加一个窗口对象(在检查器中关闭,最小化,调整大小和缩放按钮全部选中),运行碳模拟器,然后尝试通过抓取调整控件大小,窗口消失。

但是,如果我创建一个已经包含窗口对象的Carbon项目(即不是在第一次创建它之后自己添加窗口的空项目),那么在这种情况下调整窗口的大小没有问题。

我尝试在视觉上匹配检查器中的选择,以查看这两种情况的设置之间有什么不同,但我不会轻易注意到显示的两组参数之间存在任何差异。因此,我很好奇,是否有更多的设置不在检查器上显示。

Carbon窗口在调整大小后会消失吗?

感谢

回答

0

我注意到,如果没有选中获得点击的选项,那么窗口会消失,当您试图调整其大小。但我不知道你怎么可能无意中不检查。

0

JWWalker,谢谢你的回复。接受点击在两个版本上都被选中。

但我想我能够(有点)弄清楚检查.nib文件的差异。

这两个文件都有两个定义的键:maxSize(在com.apple.ibtool.document.localizable-all下)和gMaxSize(在com.apple.ibtool.document.objects下)。在工作文件中,这两个文件都具有{480,270}的字符串设置。在非工作文件中,它们的字符串设置为{0,0}。显然,工作文件的默认配置是将窗口的最大尺寸设置为零。在Inspector中,“窗口模板大小”选项卡的“最大大小”框被选中,但宽度和高度均为“0”。我点击了一个框来清除支票。再次运行碳模拟器并正确调整窗口大小而不会消失。当我重新检查盒子时,Inspector自动填充宽度和高度参数,其有效值为480和270.我再次运行碳模拟器,并根据新的最大尺寸约束正确调整大小。

我不完全理解.nib文件中的XML代码,但显然窗口的最大大小的默认设置被设置为零。不正确的代码出现在笔尖文件如下(删除非相关线路):

com.apple.ibtool.document.localizable,所有

<dict> 
    <key>1</key> 
    <dict> 
     <key>maxSize</key> 
     <string>{0, 0}</string> 

com.apple.ibtool.document.objects

<dict> 
    <key>1</key> 
    <dict> 
     <key>gMaxSize</key> 
     <string>{0, 0}</string> 
0

您必须取消选中窗口minimum sizemaximum size模板尺寸或者设置正确的值。