web-dev-qa-db-ja.com

警告:見当違い

最近Xcodeを更新しましたが、次の警告が表示されました。

enter image description here

エディター->自動レイアウトの問題を解決-> View Controllerのすべての制約をクリアしようとしましたが、機能しませんでした... Xcode 5を使用しています。警告を削除するにはどうすればよいですか?

46

Xcode 5では、制約が適用されたときにキャンバス上のビューの位置が更新されません。したがって、Interface Builderで表示されるのとは異なるビューの位置を指定する制約を持つことができます。これを修正するには、 Command + Option + = または|-• で[フレームの更新]を選択しますメニュー(ネクタイファイターのように見えます)。

Xcode 8の更新:「フレームの更新」コマンドに独自のボタンが追加されました。スタックビュー/配置/制約ボタンのすぐ左側にあり、角括弧で囲まれた再読み込み矢印のように見えます。

---(Update Frames

73

ストーリーボードでこのビューを選択し、「エディター->自動レイアウトの問題を解決->ビューのすべての制約を更新」を選択します

わたしにはできる。

23
folse

Xcode 8:Storyboardの1つのUICollectionViewでこの警告が表示され、制約はまったくありません。下部の「表示」デバイスを他のデバイスに切り替えてから戻ると、警告は削除されます。

4
Ralf Hundewadt

XCode 6では、警告に現在の制約が与えられたときにビューが配置される場所を示す寸法が付随するようになりました。制約が正しい場合(またはそうであると思われる場合)、ビュー(ラベルなど)がその場所にない場合は、警告でビューの寸法を予想される寸法に変更してみてください。ビューが正しい場所に表示され、警告が消えると、制約が期待どおりに機能していることが確認されます。

単純に制約を削除すると警告が削除される場合がありますが、必ずしも希望する自動レイアウト動作が得られるとは限りません。

3
arcady bob

Xcode 8.1では、左端に更新ボタンがあり、ビューをクリックして、古い更新フレームと同等になるようにクリックします。

enter image description here

3
Joseph Astrahan

具体的には、ビューを選択し、[エディター]メニューに移動-> [自動レイアウトの問題を解決]から[制約をクリア]を選択します。これにより、制約がクリアされ、コンポーネントを移動するときに警告が表示されなくなります。

0
Ben