Как упростить большой числовой ввод от пользователя?[Цель С] - PullRequest
1 голос
/ 05 ноября 2010

Я создал очень простое приложение для iphone, где пользователь сможет вводить или выбирать очень большое числовое значение (обычно в тысячах или миллионах).

В настоящее время я использую простую запись в текстовом поле с выбранной цифровой клавиатурой.

В качестве аналогии я собираюсь использовать пример Плата за трансфер в футбол .

A комиссия за перевод может исчисляться многими миллионами, и я действительно не хочу, чтобы пользователь неправильно набирал нули или расстраивался из-за количества нулей, которое они должны ввести.

Кроме того, так как текстовое поле / числовое значение наличных денег не отображается ни с каким форматированием валюты, это делает очень не интуитивным знать, сколько вы вводите.

В этой теме У меня есть способ отображения больших чисел на экране; Вы также заметите, что числа отформатированы кусками (то есть: 2,25 м, 2 м, 7,25 м и т. д.) - это делает процесс более упорядоченным и более визуально интуитивно понятным.

Но я не уверен в том, как сделать так, чтобы пользователю было удобно вводить большие числа, не вводя глупо длинные нули каждый раз.

Возможное решение 1 - Используйте UIPickerView с 3+ сегментами для каждого из модулей. Проблема - он не будет обрабатывать меньшие числа должным образом, также вы можете получить странно выглядящие числа, такие как 1.15k, которые, хотя и правильные, я не хочу отображать.

Возможное решение 2 - Используйте кнопку +/-, чтобы позволить пользователю просто увеличить / уменьшить число в 250 или 500 раз. Это самый простой ответ , но это не так элегантно, как UIPickerView

Если есть другой способ сделать это, способ упростить ввод больших числовых чисел от пользователя, мне было бы интересно.

1 Ответ

0 голосов
/ 06 ноября 2010

Вы можете добавить форматированный вывод прямо над или под текстовым полем.По мере ввода чисел обновляйте форматированное поле, добавляя символы валюты, запятые и десятичные дроби.Не самый элегантный способ сделать это, но он будет простым в реализации и интуитивно понятным для пользователя.

...