Xcode 8にアップグレードした後の画面の前と後を次に示します。
やったことは、main.storyboardを開いて、そこからスマートフォンでアプリをビルドして実行することだけでした。
バージョン管理では、Xcodeを開いてからmain.storyboardに多くの変更を加えていることがわかります。
これらの変更を削除するたびに、Xcode 7.3.1で使用するものを確認できます。
しかし、ストーリーボードでインターフェイスビルダーを再び開くとすぐに、それらの変更が元に戻るのがわかります。
ここでできることはありますか?
ストーリーボードファイルをXcode8互換に変換すると、Tableview画像が表示されないという同様の問題がありました。これはXcode8のバグのように見えるので、バグ修正がリリースされるまで、次の回避策があります。
ストーリーボードファイルに他の変更を加える必要がある場合は、これらの手順を再度実行してください。
ええ、同じ問題。私は部分的に次の方法でそれを修正することができました(Xcodeバージョン8.1(8B62))
Storyboardのドキュメントアウトラインで、いくつかのレイアウトの問題を示す黄色の矢印のある各シーンをクリックしました(スクリーンショットの番号1)
この後、問題のあるシーンごとに、「フレームの更新」小さなアイコン(スクリーンショットの番号2)をクリックして、シーンごとのすべてのレイアウトの問題を修正する必要がありました。
しかし、私の場合の1つのシーンは、Xcode7からXcode8への移行後も泣いている状態でした。制約を調整するか、欠落している制約を追加して、手動で修正する必要がありました。
XCode8とStoryboardsの驚きはありません。 AppCodeエディターを使用した場合、ストーリーボードをサポートしていないため、このような問題は発生しません; P
がんばろう!
Xcode 8.1 Beta 2はこの問題を解決します。このダウンロードリンクを確認してください
可能な解決策については、スレッドに従ってください:(多くの開発者に起こると思います)。
Xcode 8 GM seed Storyboard issue
Xcode 8-以前のストーリーボードが歪んでいる
(anyH anyW width 600を使用しました)XcodeをXcode 8に更新すると、ViewControllersのすべてのサイズが変更されました。その結果、すべてのレイアウトが歪んでいました。
現在、この問題の解決策は3つしかありません(すぐに修正を待つことを信頼しません)。
1.各Viewcontrollerに移動し、Update Frames
で修正します。
2。ほとんどのコントローラーが推測されるため、メインのViewController Size Inspector -> Freeform -> 600
に移動します。コントローラーのすべてのサイズが変更されます(導入したいAppleの新機能の影響に注意してください)。
3。
Xcode 8(WWDC16)の新しいAutoLayout機能の追加リンク: Making Apps Adaptive、Part 1
私にとっての解決策は、問題があるUIViewControllerをクリックしてからEditor > Resolve Auto Layout Issues > All Views In ... > Updates Frames
新しく選択されたデフォルトビュー(私の場合はiPhone 7)に基づいて、既存の制約に合うようにビューを再配置しました。
また、注意:ナビゲーションバーの配置ミス警告が表示された場合は、UINavigationController/UIViewControllerを選択してからAttributes Inspector > Bar Visibility > Shows Navigation Bar
を選択し、オフにしてからオンにします。
View SizeをFreeform from Inferredに設定するとうまくいきました。 Simulated Metrics in Attributes Inspectorという見出しの下にあります。
これが役立つことを願って
Xcodeを7.3からXcode 8に更新してアプリを実行すると、一部のビューは完全に表示されますが、一部は歪んでいます。次に、nibファイルを確認し、特定のデバイスサイズを選択して、それに応じてnibを表示するように促しましたAny-Any(Xcode 7.3)
ではなくオフコースであるデバイスサイズ。そのため、すべてのnibsファイルは正しい方法で表示されません。
私からの解決策:-下の画像のように黄色の矢印を押し
次のようなオプションを表示するポップアップが表示されます
Update Frames
checked.itでApply to all views in container
を選択すると、歪んだUIの約90%が解決され、自動レイアウト制約の残りの問題は手動で解決できます。
各コントローラーを選択し、「フレームの更新」をクリックして、レイアウトを修正しました。
@ david-truongからの答え( https://stackoverflow.com/a/39589860/1407528 )は私の場合は機能しません。同じ状況にいる場合は、これを試してください:
すべてのデバイスをiOS 10以降に更新した場合、このバージョンのXcodeはそれらのデバイスを互換性のあるデバイスとして認識しません。だから、このトリックを試してください:
注:このトリックを使用すると、Swiftなどの新機能は使用できなくなりますが、プロジェクトをロードしてビルドできるはずです。
同じ問題があり、コントローラーのビュー制約を強制的に更新することで解決しました。次のコードをviewDidLoad()関数に追加します
self.view.layoutIfNeeded()
同様の問題を修正するために、xibをフリーフォーム(推論なし)として設定し、xibファイルをXcode 7.x互換として保存しました。私の場合、両方の手順が必要でした。それがお役に立てば幸いです!
Apple開発者ポータルから.dmgファイルをダウンロードできるXcodeバージョン7.3.1を使用して問題を修正しました。私はすべてのアプリで自動サイズ変更を使用しました。このバグを修正できる場合にのみ、Xcode 8に更新します。
ここからダウンロードしてください: https://developer.Apple.com/services-account/download?path=/Developer_Tools/Xcode_7.3.1/Xcode_7.3.1.dmg
viewdidloadの制約とレイアウトサブビューを更新すると問題が解決します
- (void) viewDidLoad {
[self.view updateConstraints];
[self.view layoutSubviews];
[super viewDidLoad];
}