🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

2628閲覧

プレビューでは問題ないが、Storyboardの「View as」の機種以外でレイアウトが崩れる

tafuzz

総合スコア15

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/12/09 05:13

編集2019/12/09 07:08

StoryboardのAutolayoutで部品に制約をかけレイアウトを構成しています。

プレビュー画面ではどの機種も綺麗に表示されますが、シミュレーターか実機でビルドすると、
Storyboard下の「View as」で選択した機種以外の機種では一部画面のレイアウトが崩れてしまいます。

例えば「View as」がiPhone8で、ビルドもiPhone8だと普通ですが、iPhoneXSだと崩れます。

「View as」がiPhoneXSだと、ビルドがiPhone8だと崩れ、iPhoneXSでは普通に表示されます。

エラーや警告は表示されておらず、全ての画面でレイアウトが崩れるわけでもなく困惑しています。

なぜこのような現象が発生するのでしょうか?

###制約・崩れ方
崩れるものの一つに、画面幅いっぱいに表示するUIViewがあります。
こちらは、上下のViewにスペース0で制約、水平方向中央、Safe Area左側にスペース0で制約をしています。

しかし、ビルドしたときに横幅いっぱいにならず左側に寄ってしまいます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/12/09 06:33

設定されているAutolayoutや、Storyboard、崩れたレイアウトの画面など載せてください
tafuzz

2019/12/09 07:05

事情により画面は載せられないのですが、制約方法について追記しました
退会済みユーザー

退会済みユーザー

2019/12/09 07:35 編集

単純なサンプルプログラムを作られたらいかがでしょうか? 右側の制約か幅の指定がないんじゃない?
guest

回答1

0

いいえ、そんな事はないはずです。基本的には機種ごとにLayoutを調整する必要があります。
例えば、iPhone8向けにconstraintsを用意しても、layoutはiPhoneXSで外れないはずがありません。両方wC hRだけど寸歩は若干違ってiPhoneXSの画面のサイズは全然違うので、確認・調整が必要です。
場合によって、Autolayoutでも解決できますね。
インプットの不足で、それより具体的にアドバイスができません。サンプルプロジェクトをgithub経由、共有いただければ(理想)、わかるようになると思います。

投稿2019/12/11 09:00

vanderlvov

総合スコア687

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問