KonyでiOSスプラッシュ画像が表示されない・サイズが合わない時の解決方法

## 目次
1. はじめに<br>
2. 実装方法<br>
4. まとめ<br>

## はじめに
以前「[Konyでスプラッシュ画面を設定する方法]( https://qiita.com/Kony_Team/items/5e9d792cce5e5b95b7e8)」を紹介しました。
しかし、[公式ドキュメント]( https://docs.kony.com/konylibrary/visualizer/visualizer_user_guide/Content/Splash_Screen_Properties.htm)にて以下の記述があり、前回ご紹介した方法だとiOSでのスプラッシュ画像は出ません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/b56de39b-9e0c-4ca2-f2c7-c09b5e842874.png)

「iOSネイティブチャネルの場合、スプラッシュ画面にウィジェットを追加したり、ウィジェットのプロパティをカスタマイズしたりできます。」
つまり、iOSの場合はウィジェットを追加してスプラッシュ画像を表示する必要がありました。

実際に[こちらの記事](https://qiita.com/Kony_Team/items/5e9d792cce5e5b95b7e8#%E3%82%B9%E3%83%97%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E7%94%BB%E9%9D%A2%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95)の通りにスプラッシュ画面を設定してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/b2179ad7-13a7-e59a-dcb5-29d4f0e7ce0e.png)

iPhone8で起動してみるも、スプラッシュ画面は表示されませんでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/2405e129-5a70-b9be-024d-09c81c7c07e5.png)

Androidは表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/52a66039-7247-7bee-e435-6245c69a5a2c.png)


## 実装方法
### iOSでスプラッシュ画像が表示されない場合の対処方法
今回はKony Visualizer Enterprise Edition Version 8 Service Pack 4にて試しました。
VisualizerのSplash Screenを選択し、「Apple iOS Native」を選択すると真っ黒画面の状態になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/8e005f4c-2389-b343-8a39-ec391c07d055.png)

Default Library->Imageを選択し、ドラック＆ドロップをします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/e458e40a-3a99-c1ea-f0ca-c0f4a265cff7.png)

ImageのPropertiesを以下画像のように画面いっぱいに設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/83f4858e-2cba-0fc3-7b6f-5faf4979003e.png)

ImageタブよりSourceのEditボタンを押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/110ac032-23b8-5810-b177-030ef87e69ed.png)

スプラッシュ画像を選び、「OK」ボタンを押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/7d63ac47-04ce-a5c8-0562-946557d7ab05.png)

iOS Nativeでもスプラッシュ画像が表示されるようになりました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/aeedb531-5df8-4cb7-b460-c56c3847020d.png)

ビルドをし、無事iPhoneでもスプラッシュ画像が表示されるようになりました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/11714c8a-8255-b716-f98d-2c4b78685e6e.png)


##### 補足
Xcodeでプロジェクトを確認してみると、ストーリーボードにてImage Viewとして設定されるようにビルドされていることを確認しました。最新の仕様にあわせて対応されていることが確認出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/0d2d087b-4912-0715-6518-8f9daa58fcc1.png)


#### iOSでスプラッシュ画像のサイズが合わない場合の対処方法
先ほどの設定のままiPhone 11 Pro Maxで起動すると、以下のような表示となりました。悪くはないのですが、多少上下に空間が空いている状態です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/94e11be0-3216-48f0-8b76-803279195111.png)


現在のVisualizerではImageまたはLabelのみのウェジットが置ける仕様となっているため、基本的には表示したいスプラッシュ画像にあわせてSkin、Flexにて調整をしましょう。

以下は例になります。
・ImageのContent Modeを「Scall To Fit」に設定した場合
　縦に伸ばしたような状態になる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/13504114-d2f6-0623-614f-d8341d7a7156.png)

・ImageのContent Modeを「Scall Aspect Fill」に設定した場合
　角がきれる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/b83e30c8-5ab7-1b6d-75f7-e2e42e7c12e8.png)


私は最終的に
・Splash ScreenのSkin->Backgroundのカラーを画像の背景色に合わせる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/f2b642f2-74d6-8aa1-f190-feaa615ad927.png)

・ImageのFlexにTop余白を設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/e657c736-318b-1ca6-93c2-b1eaf193b5eb.png)

・ImageのContent Modeには「Scale Aspect Fit」に設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/c6e344c8-82f8-9ebd-f9ab-740394183ef7.png)

を行うことで、「どの端末でも全体が表示される」という観点での調整を行いました。結果はこちらです。

iPhone 11 Pro Max
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/c25c4c90-aa47-49b5-a37c-d6dce176ac00.png)

iPhone8
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/994d847d-d56b-be0e-455d-a9354c90d393.png)

皆さんもデザインに合わせて調整をしてみてください。

## まとめ
複数のiPhoneサイズをサポートしなければならない場合、この記事が参考になればと思います。

#### 参考
https://basecamp.temenos.com/s/question/0D52K00004APlzPSAT/problem-with-the-screensize-on-iphone
https://docs.kony.com/konylibrary/visualizer/visualizer_user_guide/Content/Splash_Screen_Properties.htm
https://qiita.com/Kony_Team/items/5e9d792cce5e5b95b7e8