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

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

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

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

Xcode

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

Swift

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

Q&A

解決済

1回答

1200閲覧

アプリ起動時のスプラッシュ画像がぼやける

msa_winnie

総合スコア17

iOS

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

Xcode

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

Swift

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

0グッド

0クリップ

投稿2019/04/25 08:58

編集2019/04/26 02:00

問題

Xcode(Swift)で簡単なアプリを作っています。
アプリ起動時のスプラッシュ画像を設定したいのですが、機種によって画像がぼやけてしまいます。

内容

"LaunchScreen.storyboardを使う方法"でスプラッシュ画像を設定しています。
具体的には、以下の操作をしました。

①プロジェクトに画像ファイルを追加
②targets → generalの「Launch Screen File」を"LaunchScreen.storyboard"に変更(以前は空でした)
③LaunchScreen.storyboardに"Image View"オブジェクトを追加
④"Image View"オブジェクトにスプラッシュ画像を設定

ここで、画像は一つしか追加していないため機種によってはぼやけてしまいます。
ぼやけるのを回避する方法はありますでしょうか。

良いやり方をご存じの方がいらっしゃいましたら、ご教示のほどお願い申し上げます。

補足情報

Xcode:Version 10.2
Swift5
iOS12.2

こちらの質問の続きとなります。

追加情報(2019.04.26)

情報不足でした。すみません。

スプラッシュに一枚絵を追加したいです。
前提として、以下のAssets.xcassetsに追加しているだけの画像(サイズ違いの画像)は用意できているのですが、LaunchScreen.storyboardを利用するのに、どのサイズの画像を、どこに追加したら良いのかわからない状況です。
イメージ説明

今は以下のように640 × 1136 pixelsの画像を用意して、プロジェクトの直下に追加し、LaunchScreen.storyboardのViewController上にImageViewを追加して、Imageに画像を設定しています。
イメージ説明
イメージ説明

一つのサイズの画像しか設定できていないため、今回のサイズだとiPadでは横伸びになってしまいます。
複数の画像を設定したら良いと思うのですが、どのように複数画像を設定したら良いのでしょうか。

なお、対応予定機種はiOS12対応のiPhone,iPad全てです。
すみませんが、ご教示のほどお願い申し上げます。

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

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

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

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

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

fuzzball

2019/04/26 00:17

・機種名 ・画像サイズ ・LaunchScreenの詳細 以上についての追記をお願いします。 >>画像は一つしか追加していないため機種によってはぼやけてしまいます これが原因と分かっているのであれば、複数の画像を用意すればいいと思うのですが?
msa_winnie

2019/04/26 02:03

fuzzball様、いつもお世話になっております。 情報不足で申し訳ありません。先ほど、更新しました。 >これが原因と分かっているのであれば、複数の画像を用意すればいいと思うのですが? そのやり方がわからない状況です。 ご存知でしたら、教えて頂けたら幸いです。 よろしくお願いいたします。
fuzzball

2019/04/26 02:39

これ、前の質問を解決した方がいいと思うので、あっちにコメント書きます。
fuzzball

2019/04/26 03:52

ちょっと調べてみたのですが、AssetsのLaunchImageでは無理なようなのでこっちで続けます。
guest

回答1

0

ベストアンサー

LaunchScreen.storyboardをちゃんと使ったことがないので外していたらすみません。(普通のStoryboardの感覚で回答します)

以下のAssets.xcassetsに追加しているだけの画像(サイズ違いの画像)は用意できているのですが

LaunchImageとして登録するのではなく、普通の画像としてAssetsに登録して下さい。これでx1〜x3の画像を用意できますので、解像度の違いによるボケ等は解消されると思います。

ImageViewにはこの画像を設定します。

なお、LaunchImageは使われないので削除しておいた方がいいです。紛らわしいので。個別に登録している(らしい)Default.pngも同様です。(他にも不要な画像があれば削除して下さい)

一つのサイズの画像しか設定できていないため、今回のサイズだとiPadでは横伸びになってしまいます

これはデザイン的な部分から変更が必要でしょう。
解像度ごとに別サイズの画像を用意することは出来ませんので、上下左右に余白が出来ることを前提に起動画面のデザインを考えて下さい。

投稿2019/04/26 04:02

fuzzball

総合スコア16731

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

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

msa_winnie

2019/04/26 08:46

fuzzball様、教えていただきありがとうございます。 Assetsにx1〜x3の画像を追加するのですね。 スプラッシュは特別な設定が必要なのかと思っていました。 >これはデザイン的な部分から変更が必要でしょう。 >解像度ごとに別サイズの画像を用意することは出来ませんので、上下左右に余白が出来ることを前提に起動画面のデザインを考えて下さい。 スプラッシュ画面は、無地のグラデーション背景にして、中央にアプリ名を表示するように変更しました。 ImageViewには無地のグラデーション背景のみ設定して、アプリ名はLabelに設定しようと思います。 その場合、Assetsにx1〜x3の画像に設定するグラデーション背景画像(画面いっぱい)はどのくらいのサイズ(◯×◯ピクセル)を用意したら良いのでしょうか。 色々なサイズを作って試してみてでしょうか。 ご教授いただけたら幸いです。 よろしくお願いいたします。
fuzzball

2019/04/26 09:15

拡縮が発生しないようにすればいいので、一番大きなサイズに合わせれば大丈夫かと。(小さな端末で無駄な感じはしますが) あと、今思い出しましたが、Trait Variationsを使えば、もう少し細分化出来ると思います。
msa_winnie

2019/05/08 02:08

教えていただきありがとうございます。試してみます。
msa_winnie

2019/05/09 02:30

無事に設定できました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問