web-dev-qa-db-ja.com

Xcode 6.1ストーリーボードのView Controllerからテキストビューと画像ビューが消える

Xcode 6.1にアップデートして、ストーリーボードを使用したときにInterface Builder Cocoa Touch ToolでCPU使用率が99%に急上昇し、Xcodeがフリーズするエラーを修正しました。そのエラーが修正されたので、さらにイライラする可能性のあるエラーがあります。

ストーリーボードを使用する場合、UIViewControllerUITextView、カスタムUITextViews(UITextViewのサブクラスですが、ストーリーボードのすべての意図と目的、それらはUITextViews)であり、私のUIImageViewは突然消えます!

現在、View Controller内のデフォルトのメインビューは次のようになっています。

メインビュー

  • 表示
    • アクティビティインジケータ
  • スクロールビュー
    • Label
    • テキストビュー(x = 0、y = -65、width = 0、height = 0)エラー!
    • Label
    • カスタムテキストビュー(x = 0、y = -65、width = 0、height = 0)エラー!
    • Label
    • カスタムテキストビュー(x = 0、y = -65、width = 0、height = 0)エラー!
    • Label
    • カスタムテキストビュー(x = 0、y = -65、width = 0、height = 0)エラー!
    • Label
    • Label
    • カスタムテキストビュー
    • 表示
      • 表示
        • Label
        • ボタン
      • 画像ビュー(x = 0、y = 0、width = 0、height = 0)エラー!
    • ViewX
      • Label
      • カスタムテキストビュー(x = 0、y = -526、width = 0、height = 0)エラー!
      • このビューの幅と高さの制約。
    • ボタン
    • スクロールビューの幅と高さの制約
    • スクロールビュー内のViewXの中心のxおよびy制約。
  • メインビュー内のスクロールビューのxおよびy制約を中央に配置します。

View Controllerの画面外にあるビューを表示するために、「freeform」を使用してView Controllerのサイズを調整したときにすべてが始まりました。 cmd-Zを使用してView Controllerを「固定」(通常のサイズ)に戻すと、不足している要素が再び表示され、すべてが正常に見えました。しかし、後で、View Controllerを編集していて、突然...バム!彼らは行ってしまいました。そして、それらをすべて想定された場所にリセットすると、それが再び発生しました(上記のx、y、幅、高さの値になります)。

:

誰が間違っているのか知っていますか? Xcode 5ではこのエラーは一度もありませんでした。

---(編集:
cmd-Zを使用して、View Controllerを通常の状態に戻すことができました。その後、Macを再起動し、Xcodeを再度開きました。さて、ストーリーボードでカーソルをドラッグしてサイズを変更するとエラーが発生することに気付きました(Xcodeの右側のパネルの幅と高さのプロパティを使用してサイズを変更しても発生しません)。他のView Controllerでも発生します。デフォルトのメインビューにUILabelUIImageViewしかないView Controllerでさえ、ラベルのエッジをクリックしてドラッグしてサイズを変更すると、画像ビューは次の値で消えますx = 0、y = -64、高さ= 0、幅= 0。

簡潔な要約:
Xcode 6.1ストーリーボードでは、UIViewController内の要素のサイズを変更するたびに、すべてのUITextViewsおよびUIImageViewsが折りたたまれ、上部の-64ピクセル上に押し込まれますView Controllerの左隅。

[〜#〜] update [〜#〜]
Xcode 6.1.1がバグを修正したようです。

37
Ethan G

別の回避策は、ビューのサイズを変更する前にレイアウトに制約を追加することです。 (たとえば、欠落している制約を追加します)。バグは、利用可能な制約がない場合にのみ発生するようです。 BugreporterでバグをAppleに報告しました。

編集:だから、少なくともApple Bugreporterは機能しているようです。この問題はXCode v 6.1.1で修正されています。

23
Jonas Sääv

Xcode 6.1のバグのようです!!現在の解決策は、サイズインスペクターから要素のサイズを変更することです。

マウスでサイズ変更をしないでください...

8
Nahar

「自動レイアウトを使用する」のチェックを外すと、それも発生しません。ただし、古い「スプリングとストラット」メソッドの使用に戻ります。それでも、これはView ControllerごとにView Controllerごとに設定できるため、それほど悪くはありません。

1
Andrew Gene

私は同じ問題を抱えていました。 Apple開発者のWebサイトにアクセスし、新しいXcodeのベータ版をダウンロードすると、このバグが修正されました。

XCode 6.2 Betaをインストールしたところ、問題はそこで修正されたようです。

0
patschiboy