我正在使用Interface Builder处理NIB,其中一个NIB必须在我的外接显示器上有一个未附加的视图,因为我在MacBook上看不到它。编辑iPad NIB时遇到了这个问题,我使用更大的外接显示器进行操作。
由于某种原因,Interface Builder没有检测到现在只有一个屏幕而没有将此视图拉到此监视器上。必须有一种方法可以让它回到可见空间,以便我可以处理它。我试图双击组织者中的视图图标,这通常会使视图向前移动但不会进入视图。
我该怎么办?这真的是一直存在的错误吗?
答案 0 :(得分: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打开,视图“画布”窗口又回到我的笔记本电脑屏幕上,其他一切都打开了我的外接显示器。
感谢!!!