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
を再度開くたびに、この警告が再び表示されます。また、黄色の三角形をクリックしてから更新フレームをクリックしても何も起こりません。何か案は?
プロパティ「Simulated Size」を「Freeform」に変更すると、警告は消えます。
前述のとおり、 here Scrollview Insetsの調整のオン/オフを切り替えることでこれを修正できます。
View asからiPhone 6SからiPhone 5Sに変更し、次にiPhone 6Sに戻しました。Xcodeはすべての変更を行って警告を削除しました。
迷惑な警告を取り除くための回避策として、次の場所にある「misplaced」を削除して、Main.storyboardを手動で編集しています。
<navigationBar key="navigationBar" opaque="NO" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="Os1-Xh-7XN">
ハックですが、1ではなくゼロの警告があるのはいいことです:)
ストーリーボードの左下にある[表示]をクリックし、別のデバイスサイズを選択してから、もう一度クリックして、元のデバイスサイズに戻します。これは私のために働いた。
上記のすべての提案を試みましたが、うまくいかないようでした。もっと深刻なバグかもしれないと思う。
Apple Bug Reporter(link: https://bugreport.Apple.com/logon )でバグを記録しました-同じことをしたい場合は、バグを参照してください:Appleがそれを結びつけることができるように31355220
。それを報告する人が多いほど、この煩わしさを修正するために必要な情報が増えます。
Xcode 8にパッチが適用されるまで、「表示方法」オプションを「iPhone SE」に設定して警告を削除できます。理想的ではありませんが、今のところは機能します。
View Controllerのシミュレーションサイズをフリーフォームに設定し、幅を375から320に設定することで、問題を完全に取り除くことができました。
さて、問題を修正したようです。これが私がしたことです。
通常のように更新フレームを選択します。別のファイルを開き、ストーリーボードファイルをクリックして戻ります。それでもうまくいかない場合は、Xcodeを再起動してください。内部的に更新されているように見えますが、インターフェースビルダーのUIは時々取得できなくなります。
View Controllerのxcodeでデバイスのプレビューを変更し、コンパイルして警告を確認してください...
Xcode 8は少しバグが多く、Interface Builderは含まれているすべてのビューに影響するランダムnoでリセットします。プレビューデバイスを変更してみてください。