一般的に言って、モバイルデバイスの経験則は、プラットフォームの規則に従うことであり、ネイティブコントロールはカスタムUIよりも常に優れています。ただし、 iOS および Android のコアUI要素であるスピナーベースの日付ピケットが、ほとんどの場合、ユーザーにとって本当に最高のエクスペリエンスであるかどうかについて迷っていますケース。
私自身もユーザーとして、これらのインターフェイスがプレーンテキスト入力に置き換わる場合に役立ちます。たとえば、設定したい日付がわかっている場合などです。たとえば、私の誕生日を尋ねられた場合、これはそれを選択する最も簡単なインターフェイスです。ただし、モバイルバンキングアプリで「次の金曜日」を支払うように請求書を設定したい場合など、状況が重要な場合は、これが適切なインターフェースであるとは思いません。私の意見では、この種の探索的/状況的な状況は、モバイルデバイスで遭遇するほとんどの日付ベースの入力の典型であるため、ネイティブUI要素全体の適切性に疑問を投げかけます。
以下は、コンテキストを前提とした、ネイティブの日付ピッカーよりも効果的なカヤックアプリのカスタムインターフェイスの例です。
これらのUI要素の有効性についてユーザー調査はありましたか?プラットフォームの一貫性のために、これらのコントロールを使用することについて(特定の状況で完全ではない場合でも)議論はありますか?
あなたの質問は
a)日付ピッカー(スピナーとは呼ばれません)はどこでも適切ではありません。
b)日付ピッカーは変更できません。
およびc)ティーの設計ガイドラインに従う必要があります。
したがって、適切な答えは、SDKマニュアルとUXガイドラインのレビューであり、いかなる種類の調査でもないと思います。
まず、ガイドラインは「ルール」や「法律」ではなく、そのように呼ばれています。これは、1つのプラットフォームで複数のアプリにわたって一貫したエクスペリエンスを保証するためにほとんどの状況をカバーする提案であるためです。 AppleのHIGでさえ、何をすべきか、何をすべきでないかを開発者に伝えることに関しては、かなり穏やかな言葉が含まれています。
ユーザーによく知られていない多数の選択肢を提供する必要がある場合、ピッカーは適切なコントロールではない可能性があります。
または
アプリで意味がある場合は、分ホイールで間隔を変更します。
したがって、ネイティブコントロールが状況に適したUXを提供しない場合は、ユーザーをガイドラインよりも上に配置する必要があります。
次に、AndroidとiOSの両方に、カレンダー全体または少なくとも曜日を表示するネイティブオプションがあります。
IOSでは、これは UIDatePicker
と呼ばれるUIDatePickerModeDateAndTime
のプロパティで、スピナーに曜日を表示します(ネイティブカレンダーアプリの新しいイベントのスクリーンショット、提供:私の友人):
Androidには Android.widget.CalendarView
、完全なカレンダーを表示します(私のCM9のネイティブカレンダーアプリのスクリーンショット):
したがって、要約すると、アプリケーションに適切な独自のコントロールを作成できますが、すべてのネイティブコントロールとそのプロパティを調査するのが最善です。
タスクに最適なものを使用してください。生年月日をどこかに入れたい場合は、スピナーを使ってください。かなり速くなります。来週の新しい予定をスケジュールする必要がある場合は、その週に他の予定があるかどうかも示すクラシックDatePickerを提供してください。
私はスピナーが最速の方法であることに同意しません。十分に若い場合、または日付がデフォルトに近い場合、誕生日には速いかもしれませんが、スクロールが嫌いです。3つのフィールドと数字キーボードよりもはるかに時間がかかります。より高速なもの:最大30日間のスクロール、最大11か月のスクロール、および42年間のスクロールOR単に8つの数値を入力しますか?