21

「警告のない」プロジェクトを目指しても無駄かもしれませんが、私は Adaptive Layout/AutoLayout について十分に神経質になっているため、これらの警告を押しつぶすことを余儀なくされています。

縦画面の幅に基づいて動的にサイズを変更したい uiview があります。ユニバーサル、ポートレートのみ (および逆さま) のビルド情報にアプリを設定しています。次の方法で uiview を制限しました。

  1. ビューの中心をスーパービューの中心 X に合わせました
  2. ビューの幅をスーパービューの幅に比例させました
  3. ビューに 1:1 の縦横比の制約を与えました
  4. ビューにスーパービューの上部への垂直方向の制約がある場合

詳細については、以下のスクリーンショットを参照してください。

そのため、ビューの「実行時にフレームが異なる」、特に実行時のサイズと位置とキャンバス内の内容について警告が表示されます。クラスサイズが任意の高さと任意の幅に設定されているキャンバスをXcodeが「気にする」理由がわかりません。アダプティブ レイアウトの要点は、サイズと位置がデバイスの画面サイズと向きに基づいて実行時に解決されることだと思いました。

故障してXcodeに「フレームを更新」させると...はい、警告は消えますが、非常に大きなビューでは、小さなキャンバスでWYSIWIG方式でグラフィカルに作業することは事実上不可能です。キャンバス内での作業をほとんど不可能にする特大のビューを作成せずに警告を取り除くための解決策はありますか?

キャンバスのスクリーンショット

4

4 に答える 4

25

警告を取り除き、制約がビューを「正しく」配置できるようにするには、警告を出しているビューを選択し、ストーリーボードの右下隅にある小さな三角形を押します。 ここに画像の説明を入力

そして、「コンテナ内のすべてのビュー」の「フレームの更新」を選択します

(ストーリーボード全体に対してこれを行う方法があればいいのにと思います。少なくとも私はそれを見つけていません)

于 2015-09-23T13:46:43.970 に答える
23

ビューを選択して を押します

  • Option+ Command+=

これにより、フレーム サイズが更新されます。問題のあるすべてのビューについて繰り返します。特にエラーメッセージをクリックして見つけた場合は、それほど時間はかかりません。

アイデアに対するこの回答に感謝します。


ノート

Xcode 8 に更新し、View をデバイスとして選択した後、このエラーが発生しました。メニューは Xcode 7 とは異なるため、@Spoek の回答は機能しなくなりました。また、更新またはリセットをクリックしても機能しませんでした。

ここに画像の説明を入力

アップデート

Update Frames に独自のボタンが追加されました。そのため、以前は見逃していました。

ここに画像の説明を入力

于 2017-01-03T05:29:42.590 に答える
8

たとえば、シミュレートされたメトリックのサイズを 4 インチの iPhone に変更できます。

ここに画像の説明を入力

またはフリーフォームで、サイズを最適なサイズに変更します。

ここに画像の説明を入力

于 2015-09-23T13:37:17.707 に答える
0

静的テーブルビュー セルでこのエラーが発生していました。自動オプションのチェックを外すと、警告は消えました

ここに画像の説明を入力

于 2020-03-02T08:22:32.950 に答える