私は現在、この記事の執筆時点でXcode 9ベータ3をテストしています。
ストーリーボードを表示すると、他の言語/地域では固定された制約が問題になることを示す警告のリストが表示されます。
アプリケーションはかなり複雑であり、多くのビューでこれらの警告が発生しています。
警告は次のとおりです。
Certain autolayout constraint combinations may result in an appropriate layout in the current development language but will pose issues in other languages and regions.
このアプリは、すぐに他の言語で使用されることはありません。
この警告だけをオフにする方法はありますか?馬鹿げているように聞こえますが、黄色の警告アイコンですべてのビューを見ているのを我慢できません。
アプリがローカライズされていない場合、ストーリーボードのローカライズ設定を復元する必要があります。そのうちの1つは英語に設定されていました。 [英語]ボックス、または設定されているもののチェックを外します。ストーリーボードは、言語コード(英語の場合はen)が入ったフォルダーにあります。アプリはenフォルダーを探していないため、このボックスをオフにするとプロジェクトディレクトリから削除されます。 Finderフォルダーでストーリーボードを見つけ、enフォルダーから移動して、プロジェクトにドラッグして戻します。ターゲットメンバーシップがチェックされていることを確認します。クリーンアップ、クローズ、オープン、強制終了など、必要に応じて行ってください。 1つのストーリーボードに360の警告があったので、これを解決してよかったです!
透明なビューにラベルまたはボタンを埋め込むだけで、ローカリゼーションの問題の警告を削除することもできます。次に、ラベルまたはボタンから幅固定制約を削除し、代わりにそのコンテナビューに設定します。
コンテナビューを使用することにより、警告を黙らせながら、ストーリーボードをローカライズすることができます。言語が変更される場合でも、固定幅のラベルまたはボタンが必要な場合があり、固定幅が十分に大きいと確信している場合は問題になりませんが、Xcodeはそれを認識しません。警告が表示されます;-)
簡単な解決策:問題のある制約ごとに言語方向の尊重をオフにします。
https://stackoverflow.com/a/45764271/201828 を参照してください。