Interface-Builder出口导致奇怪的显示行为

时间:2009-07-21 15:13:13

标签: cocoa interface-builder

我今天一直在努力将一张表添加到我的应用程序的主窗口中。在分离了两个(主视图/控制器和工作表视图/控制器)之后遇到了麻烦,我只是在同一个xib中同时拥有两个视图,并且都由主控制器控制。现在,当调用beginSheet方法时,我已经设计了表单,并将其连接到我的控制器上的IBOutlets / Actions。

这就是问题所在。由于表单对象和控制器之间没有绑定,因此它可以完美显示。但是当我将按钮连接到IBActions,文本字段/图像视图连接到IBOutlets时,我遇到了一些奇怪的显示问题。我说的是按钮没有显示(但是点击它们应该在哪里时执行的动作),NSBox的边框没有显示,文本字段没有显示任何类型的文本,并且在面板的可视区域之外显示(仍然是空白的)。

我发现我可以通过稍微调整面板大小来纠正这个问题,但那是不可用的。我确实用3个文本字段和3个按钮工作得很好,只是启用了关闭/最小化(不是它们实际上似乎对工作表做任何事情),但是现在我已经将一个imageview连接到控制器和其中一个按钮没有再显示。

这与我正在使用的插座/动作的数量有关(实际的主窗口实际上没有任何额外的窗口)或者是IB有错误还是我做错了什么?

2 个答案:

答案 0 :(得分:1)

我的第一个怀疑是在绘制工作表时会抛出异常。根据我的经验,当您获得像您所描述的半绘制控件时通常会出现这种情况。检查Xcode中的调试器控制台,看看是否有任何错误消息在那里打印出来。您还可以在objc_exception_throw上添加断点,以便在抛出异常时停止调试器,这可能会进一步说明问题的确切位置。

答案 1 :(得分:0)

当我从头开始重建工作表时,这个问题就消失了。我不知道是什么原因引起了这个问题,但是如果有人遇到类似的问题,我建议你尝试在新的表格中重建它。