【问题标题】:Window disappears when resizing in Carbon Simulator在 Carbon Simulator 中调整大小时窗口消失
【发布时间】:2011-03-17 06:07:20
【问题描述】:

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

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

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

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

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

谢谢

【问题讨论】:

    标签: macos interface-builder macos-carbon inspector


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      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 参数。我再次运行 Carbon Simulator 并根据新的最大尺寸约束正确调整大小。

      我不完全理解 .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>
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-13
          • 1970-01-01
          • 2017-09-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多