1

我正在尝试构建一个可调整大小的 Carbon 窗口作为教程的一部分。我在 Snow Leopard 10.6.4 上使用 Interface Builder 3.2.3。

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

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

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

Carbon 窗口在调整大小时消失是否有任何常见原因?

谢谢

4

3 回答 3

0

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

于 2012-09-27T09:02:06.017 回答
0

我注意到如果没有选中接收点击的选项,那么当您尝试调整它的大小时,窗口就会消失。但我不知道你怎么能不小心取消选中它。

于 2010-07-17T04:15:15.287 回答
0

JWWalker,感谢您的回复。两个版本都检查了接收点击次数。

但我认为我能够(某种程度上)找出检查 .nib 文件的差异。

这两个文件都定义了两个键:maxSize(在 com.apple.ibtool.document.localizable-all 下)和 gMaxSize(在 com.apple.ibtool.document.objects 下)。在工作文件中,这两个都有一个字符串设置 {480, 270}。在非工作文件中,它们的字符串设置为 {0, 0}。显然,工作文件的默认配置是将窗口的最大大小设置为零。在 Inspector 窗口模板大小选项卡中选中了“最大大小”框,但宽度和高度均为“0”。我单击该框一次以清除检查。再次运行 Carbon Simulator,窗口大小适当调整而不会消失。当我重新选中该框时,Inspector 自动使用有效值 480 和 270 填充 Width 和 Height 参数。

我不完全理解 .nib 文件中的 XML 代码,但显然窗口最大大小的默认设置被设置为零。.nib 文件中出现的错误代码如下(删除了不相关的行):

com.apple.ibtool.document.localizable-all

<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>
于 2010-07-18T02:32:07.630 回答