質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS 9

iOS 9は、アップル社のモバイルOSであるiOSシリーズのバージョン。特徴として検索機能の強化、Siriの機能改良、iPad向けマルチタスクなどがあります。マルチウィンドウ機能をサポートし、iPad向けマルチタスクもサポートされています。

Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

iPhone 6

iPhone 6は、2014年に発売されたアップル社のスマートフォンです。画面サイズは4.7インチあり、A8コアチップとM8モーションコプロセッサを搭載しています。

Q&A

解決済

1回答

4599閲覧

Xcode7でiPhone6以降のサイズ・レイアウトが崩れてしまいます

ababab

総合スコア47

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS 9

iOS 9は、アップル社のモバイルOSであるiOSシリーズのバージョン。特徴として検索機能の強化、Siriの機能改良、iPad向けマルチタスクなどがあります。マルチウィンドウ機能をサポートし、iPad向けマルチタスクもサポートされています。

Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

iPhone 6

iPhone 6は、2014年に発売されたアップル社のスマートフォンです。画面サイズは4.7インチあり、A8コアチップとM8モーションコプロセッサを搭載しています。

0グッド

0クリップ

投稿2015/10/21 07:24

Xcode7にアップデートした後、iPhone6以降のモデルのサイズ・レイアウトが崩れてしまいます。
(実機・シミュレータともに)

Tartget→General→App Icons and Launch Imagesの3つをそれぞれ

①アップデート前:AppIcon、LaunchImage、空欄
②アップデート後:AppIcon、LaunchImage、Launch Image
のように設定していました。

①では6,6sにも対応し、②では5sまでしか対応しませんでした。
LaunchScreen.storyboardを追加する方法も試しましたが、
WatchOS storyboards do not support target device type 'iPhone'
のエラーが出てしまい、その後進めることができませんでした。
こちらのエラーの解決方法も調べましたが、わかりませんでした....

iPhone6以降にもサイズを対応させるにはどうしたら良いでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

①アップデート前:AppIcon、LaunchImage、空欄
②アップデート後:AppIcon、LaunchImage、Launch Image
のように設定していました。

この説明がちょっと変に見えたんですが、
①アップデート前、②アップデート後それぞれの
3番目の項目の「空欄」「Launch Image」というのは、
「Launch Screen File」の設定のことを言っていますか?
だとすると、そこに「Launch Image」と設定できること自体
おかしいですが、そもそもなぜ以前の通り「空欄」のままに
しておかないのでしょうか?

おそらく、その3番目の「Launch Screen File」の設定を削除して、
空欄に戻せば、以前の通り動くようになると思います。

「Launch Screen File」の設定が空欄になっている場合、
そのアプリをiPhone6以降の機種で動作させると
以前のiPhone5/5sの画面サイズ(320x568)で動作します。
(OSが自動拡大して表示します。)
おそらく以前はこの自動拡大モードで動作していたのが、
「Launch Screen File」を設定したことで、iPhone6の
本来の画面サイズで動作するようになり、レイアウトが
崩れたのだと思います。

アップデート前と同じ動作をさせたいだけなら、
「Launch Screen File」の設定を削除してください。

iPhone6やiPhone6plusの本来の画面サイズ(375x667, 414x736)に
対応するつもりなのであれば、新しい画面サイズにも対応できるよう
レイアウトを再設計して、「Launch Screen File」を設定します。

投稿2015/10/21 13:52

TakeOne

総合スコア6299

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

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

ababab

2015/10/22 01:41

回答ありがとうございます。 以前はLaunch Screen Fileの欄を空欄にすると自動に6以降にも対応していたのですが、 アップデート以降は空欄にしても6以降には対応しなくなったので、 空欄にせず別の方法を試していました。 先ほども空欄にしてビルドしてみましたが、やはり6以降のレイアウトは崩れていました。 Xcode7では6以降用にレイアウトを調整するコードがやはり必要なのでしょうか...
TakeOne

2015/10/23 03:00 編集

もしかしてLaunchImageの設定で「Retina HD 5.5」や「Retina HD 4.7」に対しても画像を設定していませんか? 「Launch Screen File」を設定しない場合でも、LaunchImageに「Retina HD 5.5」や「Retina HD 4.7」の画像を設定したら、やはりiPhone6やiPhone6plusの本来の画面サイズ(375x667, 414x736)で動作します。 あなたの場合、iPhone5/5sの画面サイズ(320x568)で設計したアプリをiPhone6以降の機種で動作させたいのだと思いますので、もし「Retina HD 5.5」や「Retina HD 4.7」のLaunchImageを設定していたらそれも削除してください。 念のため、起動直後に NSLog(@"%@",NSStringFromCGSize([UIScreen mainScreen].bounds.size)); を実行して、自分のアプリが今どの画面サイズで動作しているか確認することをお勧めします。 いずれにしても、このあたりの仕様はXcode7で変更になったものではなく、Xcode6から変わっていません。 Xcode7に移行した際に出てきた新しい警告メッセージに対応する際に、変更する必要のないLaunchImageの設定まで変更してしまったということはないでしょうか?
ababab

2015/10/26 01:54

回答ありがとうございます。 ご指摘通り、Launch Imageに画像を設定したままになっていました。 画像を削除したところ、6でもレイアウトが崩れずに表示されましたが、 上下に黒いバーが表示されてしまいました。 Launch Screen Fileを設定しない→レイアウトは崩れないが黒いバーが出る 設定する→レイアウトは崩れるが黒いバーは消える という状態です。どうすればよいでしょうか?
TakeOne

2015/10/26 04:17

> 上下に黒いバーが表示されてしまいました。 それは必要なLaunch Imageの設定が足りなくて iPhone4sの320x480サイズでアプリが動作するように なったのだと思います。 Launch Imageの設定画面例が http://qiita.com/777narururumi/items/62a8b3de7d89178e2a74 の最初の図にありますが、 この中の「Retina HD 5.5」「Retina HD 4.7」の画像は削除し、 iPhone Portlaitの「2x」と「Retina 4」の画像だけ設定してください。 iPhone5/5s用の320x568サイズでアプリを動作させるには 少なくとも「Retina4」のLaunch Image設定が必要です。 これがない場合、iPhone4sの320x480サイズでアプリが 動作します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問