如何在未连接的监视器上的Interface Builder中显示隐藏视图?

时间:2010-05-11 05:13:52

标签: macos interface-builder

我正在使用Interface Builder处理NIB,其中一个NIB必须在我的外接显示器上有一个未附加的视图,因为我在MacBook上看不到它。编辑iPad NIB时遇到了这个问题,我使用更大的外接显示器进行操作。

由于某种原因,Interface Builder没有检测到现在只有一个屏幕而没有将此视图拉到此监视器上。必须有一种方法可以让它回到可见空间,以便我可以处理它。我试图双击组织者中的视图图标,这通常会使视图向前移动但不会进入视图。

我该怎么办?这真的是一直存在的错误吗?

5 个答案:

答案 0 :(得分:3)

我也看到了这个问题 - 解决问题的最简单方法是:

  1. 在Interface Builder中,双击视图对象。这通常会调出窗口并给予焦点,但在这种情况下它是不可见的。
  2. 点击Cmd-W“关闭”隐形窗口
  3. 再次双击视图对象;窗口现在应该在屏幕上重新打开。

答案 1 :(得分:1)

是的 - 当在具有多个显示器的计算机上创建XIB但稍后在另一台计算机上编辑XIB时,它会以这种方式混乱。

据我所知,修复的唯一方法是使用文本或理想的XML编辑器打开XIB,并在各种定位字符串中搜索负值。我搜索了{{ - 然后更改了发现为0的任何负值。例如,你会遇​​到{{-237,172}}当你找到开括号,打开大括号,减号模式然后更改负值为零。即{{-237,172}}变为{{0,172}}。

当您在IB中重新打开XIB时,您将能够看到您的观点。

为了安全起见,请在手动编辑之前制作一份XIB。

答案 2 :(得分:0)

尝试使用Exposé查看窗口是否显示在那里。通常你可以使用Window>安排在前面重新排列你的窗口,但似乎IB中的非文档窗口不服从普通的Cocoa窗口处理,所以这个命令对它们没有影响。

我自己无法重现(当我断开第二台显示器时,它上面的窗口移动到我的主显示器上),但它可能与屏幕的排列有关。如果这是一个可以重现的IB错误,请提交(bugreport.apple.com)。

答案 3 :(得分:0)

不确定这是否有效,但是在“界面”构建器中从xib打开窗口(双击它),然后转到检查器的“窗口大小”部分。 2个位置可能有帮助,首先“初始位置”显示窗口的表示,您可能只需将其拖回适当的位置即可。第二是“内容框架”。有“X和Y”设置,所以尝试将它们更改为0,看看是否这样做。

答案 4 :(得分:0)

<object class="NSMutableArray" key="dict.values">
                <bool key="EncodedWithXMLCoder">YES</bool>
                <string>WhatEverYouNamedIT</string>
                <string>UIResponder</string>
                <string>{{237, 644}, {320, 480}}</string>
                <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
            </object

我用Dashcode打开.xib文件并将{{237,644}更改为{{0,172}保存并用IB打开,视图“画布”窗口又回到我的笔记本电脑屏幕上,其他一切都打开了我的外接显示器。

感谢!!!