Xcode 5をインストールしたばかりですが、現在、来週iOS 7のApp Storeにリリースするためにアプリを準備しています。しかし、エラーや警告がたくさんあります。
私がUIPickerView、UITextFields、UILabelsの束を持っている1つのアプリで。このアプリでは、ストーリーボードファイルのほとんどすべてのコントロールでIllegal Configuration
(赤)エラーが発生します。私はそのエラーが何であるか、またはそれを修正する方法を知りません。私はそれについていくつかの助けに感謝します。 20の複雑なビューがあるため、ファイルを完全に再作成することはできません。
別のアプリには、UILabelsとUITextFieldsの束を含むUIScrollViewに加えて、プログラムで作成され、(前のビュー)UITableViewで選択した内容に基づいてテキストを含み、コンテンツに合わせてサイズを変更するUITextViewがあります。 UIScrollViewは、UITextViewの新しいサイズに対応するようにサイズ変更されます。これはコンパイルおよびビルドされ、UITextViewが作成されますが、テキストが含まれていません。これは、おそらく正しくサイズ変更されていないためです。 UIScrollViewは、本来垂直方向に加えて、水平方向にもスクロールするようになりました。これは(黄色の)警告のみを表示します:
Misplaced View Frame for "Label - Symbol:" will be different at run time.
は、このラベルと別のラベル、テキストフィールド、スクロールビューを含む4つのコントロール用です。
XcodeとiOSの新しいバージョンに調整するのは今回が初めてなので、これについて何か助けていただければ幸いです。
PS:Illegal Configuration
エラーの詳細は次のとおりです。Auto Layout on iOS Versions prior to 6.0
ありがとう!
ここでまだ回答を探している場合は、オートレイアウトビューに制約がないか、不適切な制約がある可能性があります。
これを修正するには、ビューを選択してXcodeメニューオプションに移動します:Editor -> Resolve Auto Layout Issues -> Add Missing Constraints / Reset to Suggested Constraints
。
レイアウト全体を選択して同じことを行うこともできます。これにより、レイアウト上のすべてのビューが推奨される制約にリセットされます。
カスタム制約を実行する必要がある場合は、Storyboard/XIBファイルで、またはコードで手動で、独自の自動レイアウト制約を設定する必要があります。
自動レイアウトの詳細については、 Appleのドキュメント を参照してください。
最後に、自動再調整を行わずにレイアウトをそのまま表示する場合は、レイアウトの自動レイアウトをオフにすることもできます(これはお勧めしません)。
Reset to Suggested Constraints
は、この警告を解消しない場合があります。解決策は、問題のUIViewのサイズインスペクターのIntrinsic Size
ドロップダウンメニューでPlaceholder
を選択することです。そして、必要に応じて不足している制約を追加します。
ビューコントローラーを選択するだけです
エディター-> Autolayoutの問題の解決-> ViewControllerのすべての制約をクリアすれば完了です。
フレームについて「ラベルフレームは実行時に異なります」-Autolayout:Runtimeのリリースノートを参照してください。
NDAが解除された後、完全な回答がここに表示されます。
注:これはXcode 4.2でも発生しますが、問題はIBでは発生しません。
また、Viewコントローラーで追加した2つのテキストフィールドでも同じエラーが発生しました。問題の解決に役立ったのは、ドキュメントの概要で、ICtr + dragged最初のテキストフィールドからビューまで、そして選択されたコンテナの水平方向の中央に配置。次に、ビューまでの2番目のテキストフィールドCtr + draggedを選択してコンテナの垂直方向中央を選択しました。これもお役に立てば幸いです。
または、自動レイアウトを完全にオフにすることもできます。
このアプローチは、iOS 5との互換性が必要な場合に便利です。
Xcodeは、親ビューに対する相対位置で機能するようになりました。オレンジ色の線をクリックしてマークをクリックし、ストーリーボードの値を使用するか何かを選択するように修正できます