web-dev-qa-db-ja.com

「ナビゲーションバー」の警告フレームは、実行時に異なりますXCode 8 Swift 3に表示されます

XCode 8にアップグレードする前は、このような場合にこのエラーは発生していません。さまざまなNavigation Controllerがあります。それらすべてについて、エラーFrame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375が表示されます。実際には、これらのNavigation ControllerにはNavigation barがありません。サブビューにはNavigation barが存在します。とにかく、Shows navigation barのチェックボックスAttributes inspectorをチェックしてチェックを外すことで解決できました。しかし、残念ながらMain.storyboardを再度開くたびに、この警告が再び表示されます。また、黄色の三角形をクリックしてから更新フレームをクリックしても何も起こりません。何か案は?

enter image description here

140
Danny

プロパティ「Simulated Size」を「Freeform」に変更すると、警告は消えます。

153
Kai

前述のとおり、 here Scrollview Insetsの調整のオン/オフを切り替えることでこれを修正できます。

34
buildsucceeded

View asからiPhone 6SからiPhone 5Sに変更し、次にiPhone 6Sに戻しました。Xcodeはすべての変更を行って警告を削除しました。

15
negersiu

これはXcode 8.3.1で機能しました。Xcodeを再起動した後でも機能します。

enter image description here

  1. Navigation Controllerを選択

enter image description here

  1. サイズインスペクターを表示する

enter image description here

  1. シミュレーションサイズをフリーフォームに変更

enter image description here

  1. シミュレーションサイズを固定に戻す

enter image description here

  1. その後、警告が消えます。

enter image description here

12
guoc

迷惑な警告を取り除くための回避策として、次の場所にある「misplaced」を削除して、Main.storyboardを手動で編集しています。

<navigationBar key="navigationBar" opaque="NO" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="Os1-Xh-7XN">

ハックですが、1ではなくゼロの警告があるのはいいことです:)

7
Jensie

ストーリーボードの左下にある[表示]をクリックし、別のデバイスサイズを選択してから、もう一度クリックして、元のデバイスサイズに戻します。これは私のために働いた。

6
colby

上記のすべての提案を試みましたが、うまくいかないようでした。もっと深刻なバグかもしれないと思う。

Apple Bug Reporter(link: https://bugreport.Apple.com/logon )でバグを記録しました-同じことをしたい場合は、バグを参照してください:Appleがそれを結びつけることができるように31355220。それを報告する人が多いほど、この煩わしさを修正するために必要な情報が増えます。

3
Mobile Bloke

Xcode 8にパッチが適用されるまで、「表示方法」オプションを「iPhone SE」に設定して警告を削除できます。理想的ではありませんが、今のところは機能します。

3
nekonari

View Controllerのシミュレーションサイズをフリーフォームに設定し、幅を375から320に設定することで、問題を完全に取り除くことができました。

2
templeman15

私にとって問題は、プッシュの一番下のバーを非表示にしていたことです(IBチェックボックスを使用)。

「ボトムバー」オプションで「なし」を選択する必要がありました。

enter image description here

1
Radu Ursache

同じ問題を抱えていたので、ここで修正しました。

エラー情報を展開し、警告の詳細をクリックします。 Xcodeは、寸法/位置設定を自動的に開きます。現在の値を、警告の詳細で提案されている値に置き換えます。

enter image description here

基本的に、ランタイムのサイズがサイズインスペクターで指定したサイズと同じであることを確認してください。

投稿した画像の横にあるアイコン(白い円の付いた黄色の三角形。赤い円のアイコンもあります)をクリックすると、問題を自動的に修正/調整するオプションが表示されます。

enter image description here

制約の更新オプションを選択し、それに応じて新しい制約を調整しました。

1
user2027373

さて、問題を修正したようです。これが私がしたことです。

通常のように更新フレームを選択します。別のファイルを開き、ストーリーボードファイルをクリックして戻ります。それでもうまくいかない場合は、Xcodeを再起動してください。内部的に更新されているように見えますが、インターフェースビルダーのUIは時々取得できなくなります。

0
GregP

View Controllerのxcodeでデバイスのプレビューを変更し、コンパイルして警告を確認してください...

Xcode 8は少しバグが多く、Interface Builderは含まれているすべてのビューに影響するランダムnoでリセットします。プレビューデバイスを変更してみてください。

0
Aks