web-dev-qa-db-ja.com

iOS-複数選択

A、B、Cの3つの値があります。値は次の方法で選択できます。

  1. Aのみを選択
  2. AとBを選択
  3. A、B、Cを選択します

A、B、およびCに使用される値は、画面に収まらないほど大きいです。

A、B、およびCに使用されるすべての値は、画面のほぼすべての水平スペースに収まるのに十分な大きさです。

この目標を達成するには、どのようなUIViewが適していますか?縦型スイッチについて考えていましたが、UIViewを再設計する方法がわかりません。

3
Ricardo

あなたの選択が何であるかについての短い説明を使用して、その時に説明のために多くの余地を残すことができます。例を参照してください。

enter image description here

ネイサンの反応は、「複数」の選択のアイデアを排除した適切な場所にあると思いますが、特に水平方向に十分なスペースがない場合は、ラジオボタンのようなものはモバイルには適切ではありません。

4
rr1g0

シンプルに:ラジオボタンを使用します

何を選択できるかを制御するチェックボックスとルールは、ユーザーとプログラマーの両方にとって混乱を招きます。誰かがオプションBのみを選択しようとすると、それが許可されないことを説明するか、Aの後にのみBを許可するように条件を設定する必要があります(ただし、Aの選択を解除するとどうなりますか?)

基本的に3つのオプションから選択できるものについては、そのような複雑さはすべて不要です。ラジオボタンはうまく機能するはずです。ユーザーは、許可されているものと許可されていないものを悩ませる必要がなく、3つのオプションを列挙することでメリットを得られます。

例: Example picture with ice cream.

8
Nathan Rabe

Aを選択するまでBチェックボックスはありません
AとBを選択するまで、Cチェックボックスはありません

6
paparazzo

one垂直スライダーの行のどこかで、その範囲をドラッグするときにフィードバックを与えることも考えていました。

Range slider for value ARange slider for value A+BRange slider for value A+B+C

これを示す jsFiddle を作成しました。

3
Slartibartfast

複数選択を行う場合は、チェックボックスを使用する必要があります。値に与えられたチェックボックスを選択するとオプションが選択され、提供されたボタンですべての選択が確認されます。

複数選択を許可するのではなく、実際にオプションを蓄積しているようです。次の変更を行うことにより、これを可能にするためにチェックボックスパターンを変更できます。

  1. Aは常に選択する必要があるため、BとCの2つのオプションのみを提供します。もちろん、これを何らかの方法でユーザーに通知する必要があります。または、リストに3つのオプションをすべて表示したい場合は、Aを選択してグレー表示にして、ユーザーが選択を解除できないようにすることができます。

  2. ユーザーがCを選択すると、自動的にBが選択され、ユーザーが選択を解除できないように灰色になります。ここでも、自動選択が行われる理由をユーザーに説明する必要があります。

  3. ユーザーがBを選択すると、デフォルトでAがすでに選択されているため、追加の作業を行う必要はありません。

2
Andre Dickson

@Papparazziの回答に基づくモックアップは次のとおりです。

mockup

download bmml sourceBalsamiq Mockups で作成されたワイヤーフレーム

1
wintvelt