文本视图和图像视图从Xcode 6.1故事板中的视图控制器中消失

时间:2014-10-21 03:05:52

标签: uiimageview ios8 uitextview xcode6 xcode-storyboard

我更新到Xcode 6.1以修复我使用Interface Builder Cocoa Touch Tool时出现的错误,当我使用故事板时,它会占用99%的CPU,这会冻结Xcode。既然错误已得到修复,我可能会遇到更令人沮丧的错误。

当我使用故事板时,我正在使用UIViewController,我的UITextView,我的自定义UITextView(它们是UITextView的子类,但是故事板中的所有意图和目的,它们都是UITextView s),我的UIImageView突然消失了!

以下是我的视图控制器中的默认主视图现在的样子:

主视图

  • 查看
    • 活动指标
  • 滚动视图
    • 标签
    • 文字视图(x = 0,y = -65,宽度= 0,高度= 0)错误!
    • 标签
    • 自定义文字视图(x = 0,y = -65,宽度= 0,高度= 0)错误!
    • 标签
    • 自定义文字视图(x = 0,y = -65,宽度= 0,高度= 0)错误!
    • 标签
    • 自定义文字视图(x = 0,y = -65,宽度= 0,高度= 0)错误!
    • 标签
    • 标签
    • 自定义文字视图
    • 查看
      • 查看
        • 标签
        • 按钮
      • 图片视图(x = 0,y = 0,宽度= 0,身高= 0)错误!
    • ViewX
      • 标签
      • 自定义文字视图(x = 0,y = -526,宽度= 0,高度= 0)错误!
      • 此视图的宽度和高度约束。
    • 按钮
    • 滚动视图的宽度和高度限制
    • 滚动视图中的ViewX的x和y约束。
  • 主视图中滚动视图的x和y约束。

当我使用“自由形式”调整视图控制器的大小以查看视图控制器屏幕外的视图时,一切都开始了。一旦我使用cmd-Z将视图控制器更改回“固定”(正常大小),丢失的元素再次出现,一切似乎都很好。然而,后来,我正在编辑视图控制器并突然...... bam!他们走了。当我将所有这些重置到它们应该的位置时,它再次发生(导致上述x,y,宽度,高度值)。

: - (

有谁知道什么可能是错的?我在Xcode 5中从未遇到过这个错误。

修改
我能够使用cmd-Z让视图控制器恢复正常。然后我重新启动了我的mac并重新打开了Xcode。现在,我注意到每当我通过拖动光标来调整故事板中的任何内容时就会出现错误(如果我使用Xcode中右侧面板上的width和height属性调整大小,则不会发生这种情况)。它也发生在其他视图控制器上。即使在默认主视图中只有UILabelUIImageView的视图控制器中,当我单击并拖动标签的边缘以调整其大小时,图像视图也会消失,其值为x = 0,y = -64,身高= 0,宽度= 0。

强调摘要:
在Xcode 6.1故事板中,每次我调整UIViewController中的任何元素时,所有UITextViewUIImageView都会崩溃,并且会在视图控制器左上角上方64位像素的位置上移动

更新
似乎Xcode 6.1.1修复了这个错误。

6 个答案:

答案 0 :(得分:23)

另一种解决方法是在调整任何视图大小之前向布局添加约束。 (添加缺失的约束,例如)。只有在没有可用约束的情况下才会出现错误。我用Bugreporter向Apple报告了这个错误。

编辑:所以,至少看来Apple Bugreporter正在发挥作用。 XCode v 6.1.1中修复了该问题。

答案 1 :(得分:8)

似乎它是Xcode 6.1中的一个错误!! 当前的解决方案是您应该从Size Inspector调整元素的大小。

永远不要通过鼠标进行大小调整......

答案 2 :(得分:1)

如果取消选中“使用Autolayout”,则也不会发生。虽然,你回到使用旧的“弹簧和支柱”方法。不过,这可以通过视图控制器在视图控制器上设置,所以它不是太糟糕。

答案 3 :(得分:1)

我遇到了同样的问题。我刚刚去了Apple Developer网站并下载了新Xcode的测试版,他们修复了这个bug!

答案 4 :(得分:0)

我刚刚安装了XCode 6.2 Beta,问题似乎已经解决了。

答案 5 :(得分:-1)

有两种类型,一种是主要故事板,另外两种是启动画面故事板 您将所有视图放在启动屏幕上,这会在您第一次应用时显示,然后才会显示 将所有视图放在主故事板而不是启动屏幕