Open6

iOS Human Interface GuidelinesのLoading

korallekoralle

https://developer.apple.com/design/human-interface-guidelines/ios/app-architecture/loading/

When content is loading, a blank or static screen can make it seem like your app is frozen, resulting in confusion and frustration, and potentially causing people to leave your app.
コンテンツの読み込み中に、空白の画面や静止した画面が表示されると、アプリがフリーズしているように見えてしまい、混乱や不満を招き、ユーザーがアプリを離れてしまう可能性があります。

korallekoralle

Make it clear when loading is occuring.

At minimum, show an activity spinner that communicates something is happening. Even better, display explicit progress so people can gauge how long they’ll be waiting.
最低限、何かが起こっていることを示すアクティビティスピナーを表示してください。さらに、進捗状況を明示することで、どれくらい待たされるのかを判断できるようにしましょう。

せやなって感じ

korallekoralle

Show content as soon as possible.

Don’t make people wait for content to load before seeing the screen they're expecting. Show the screen immediately, and use placeholder text, graphics, or animations to identify where content isn't available yet.

あー確かにプレースホルダーが出てると嬉しい気がする

UITableViewを使うならこのライブラリを使うことになるんかな?
https://github.com/malkouz/ListPlaceholder

korallekoralle

Replace these placeholder elements as the content loads. Whenever possible, preload upcoming content in the background, such as while an animation is playing or the user is navigating a level or menu.
コンテンツが読み込まれると、これらのプレースホルダー要素を置き換えます。可能な限り、アニメーションの再生中や、ユーザーがレベルやメニューをナビゲートしている間などに、次のコンテンツをバックグラウンドでプリロードするようにします。

なるほど

korallekoralle

Educate or entertain people to mask loading time.

Consider showing hints about gameplay, entertaining video sequences, or interesting placeholder graphics.
ゲームプレイのヒントになるようなものや、おもしろいビデオシーケンス、おもしろいプレースホルダグラフィックスなどが考えられます。

デレステやってる時に「〇〇のウワサ」って出るアレね...

korallekoralle

Customize loading screens.

Although standard progress indicators are usually OK, they can sometimes feel out of context. Consider designing a more immersive experience through custom animations and elements that match the style of your app or game.
標準的なプログレス・インジケーターは、通常は問題ありませんが、時に文脈に合わないと感じることがあります。アプリやゲームのスタイルに合ったカスタムアニメーションやエレメントを使って、より没入感のある体験をデザインしてみてはいかがでしょうか。

工数を削減するためには既存のライブラリを使うのが一番いいけど、
外部依存を減らしたいという気持ちもある