web-dev-qa-db-ja.com

iOSグローバルタブバーナビゲーション-タブを切り替えるときにナビゲーションの「スタック」をリセットしますか?

4つのタブを持つタブバーグローバルナビゲーションスキーム(UITabBar)を使用するiOSアプリがあります。一部のユーザーは、タブAからタブBに移動してからタブAに戻ると混乱し、ルート画面ではなく、タブAの最後の状態が表示されます。

私の質問は、ユーザーが一時的にタブを切り替えた場合、ユーザーが各タブのルート画面に戻ってから戻る方がよいかどうかです。 ORタブを最後に離れた状態をユーザーに表示するには?

Appleはこの件について何かお勧めしますか?

ここにいくつかのコンテキストがあります:

  • ユーザーが4つのタブのいずれかを使用している場合、タブ画面にかなり深くドリルできます。通常、ユーザーは1つのタブ内で10以上の画面に移動できます。
  • 同じ画面タイプ(5種類のコンテンツ画面があります)は、4つのタブのいずれにも表示されます。

また、グローバルナビゲーション方式をタブバーから「ハンバーガー」メニューに切り替えることも検討しています。そのため、この方式がこのUXの問題への対処に役立つ場合は、それが要因になる可能性があります。

4
Rohan

以前の回答ですでに述べたように、iOSの通常の動作は、各タブがその状態を維持することです。ユーザーは、タブボタンをもう一度タップすると、タブの「ルート」に戻ることができます。私はすでに混乱の2つの考えられる原因を特定したと思います。

タブは10レベル以上の深さで移動します

それは本当にたくさんあります。階層データの表現ではなく、ブラウザスタイル(Androidスタイル)のバックスタックのように聞こえます。実際に深くなる各レベルは、データのより深いレベルですか?

各タブは同じデータと同様のビューにつながる可能性があります

繰り返しますが、ウェブサイトのように聞こえます。タブはナビゲーションの開始点にすぎないようですが、すべて同じデータになります。

Appleの音楽アプリを見てください。その主なナビゲーションはタブですが、最終的にはすべてが曲につながります。そのため、彼らはソングビューをフルスクリーンにしました(タブボタンは表示されなくなりました)。

最終的にはすべてが異なりますが、考慮すべきいくつかのアイデアがあります。

  • ディープナビゲーションの一部に存続期間の短いコンテキストがある場合(タスクの完了など)、それをモーダルにすることを検討して、タブボタンが非表示になるようにします。

  • データをより適切に分離し、各タブが独自のデータとビューを持つようにします。これにより、ユーザーがどのタブにいるのかがユーザーにわかりやすくなります。これには、自動的に別のタブに移動するリンクが必要になる場合があります。

  • 代わりにハンバーガーメニューを検討してください。

2
Kris Van Bael

各タブの状態を保持することは、iOSタブバーナビゲーションのデフォルトの動作です。

ユーザーは、現在開いているタブをタップすると、状態をリセットできます。

ただし、これは一部のユーザーには不明です。

これにはいくつかの理由があります。-親しみの欠如。私の両親はPCを使用したことがありません。iPadが最初のコンピューティングデバイスになります。 -異なるアプリ間で一貫性のないエクスペリエンス。 -不十分な合図。

ここで状態を保持することもできるので、これはハンバーガーメニューに切り替えることによって必ずしも解決されるわけではありません。

私はデフォルトの動作に頼ることを好みますが、特定のユースケースを評価する必要があります。

状態をリセットまたは永続化することで、ユーザーはより多くの利益を得ますか?両方のケースで最も望ましくない経験とは何か、その経験を軽減するオプションがあるかどうか。例えば。 10レベル以上の深さで10回以上タップするか、ルートにリセットして再度10回以上タップする必要があります。

1
micap

アプリケーションのコンテンツとユーザーが達成しようとしていることに依存するため、ここでは明確な「正しい」または「間違った」答えはないと思います。

一部のユーザーは、タブAからタブBに移動してからタブAに戻ると混乱し、ルート画面ではなく、タブAの最後の状態が表示されます。

ユーザーは混乱している理由を示していますか?混乱の原因についてより多くの情報を収集すると、答えを得るのに役立つ場合があります。

個人的には、アプリが状態を保持するのが好きです。 TwitterとFacebookはどちらも特定の領域で状態を保持するため、あるタブの情報を別のタブで使用する必要がある場合に特に役立ちます。

編集:私の返信を拡大するために、これはiOSアプリプログラミングガイドからのものです here

ユーザーの観点からは、アプリの終了は一時的な中断のように見えます。ユーザーがアプリに戻ると、そのアプリは常にユーザーを最後の使用ポイントに戻し、進行中のタスクを続行できるようにする必要があります。この動作により、ユーザーのエクスペリエンスが向上します...

もちろん、これはアプリ全体を指すものであり、アプリ自体を指すものではありません。しかし、私は同じ考えが多くの状態を持つ1つのアプリに適用できると感じています。

1
Keiwes