「警告のない」プロジェクトを目指しても無駄かもしれませんが、私は Adaptive Layout/AutoLayout について十分に神経質になっているため、これらの警告を押しつぶすことを余儀なくされています。
縦画面の幅に基づいて動的にサイズを変更したい uiview があります。ユニバーサル、ポートレートのみ (および逆さま) のビルド情報にアプリを設定しています。次の方法で uiview を制限しました。
- ビューの中心をスーパービューの中心 X に合わせました
- ビューの幅をスーパービューの幅に比例させました
- ビューに 1:1 の縦横比の制約を与えました
- ビューにスーパービューの上部への垂直方向の制約がある場合
詳細については、以下のスクリーンショットを参照してください。
そのため、ビューの「実行時にフレームが異なる」、特に実行時のサイズと位置とキャンバス内の内容について警告が表示されます。クラスサイズが任意の高さと任意の幅に設定されているキャンバスをXcodeが「気にする」理由がわかりません。アダプティブ レイアウトの要点は、サイズと位置がデバイスの画面サイズと向きに基づいて実行時に解決されることだと思いました。
故障してXcodeに「フレームを更新」させると...はい、警告は消えますが、非常に大きなビューでは、小さなキャンバスでWYSIWIG方式でグラフィカルに作業することは事実上不可能です。キャンバス内での作業をほとんど不可能にする特大のビューを作成せずに警告を取り除くための解決策はありますか?