2013-11-19 4 views
2

IOS Уровень: НачальныйСоответствующий способ добавить несколько элементов управления UIPicker на странице

Если у меня есть XIb с несколькими полями, что все нуждаются в их собственном Picker View, что соответствующий/канонический способ добавить несколько представлений Picker на странице не получив Design View все захламленным?

1) Добавить программный код PickerView программно, а не через XIB?

2) Использовать только один объект Picker и заполнять его разными значениями в соответствии с полем выбор? (Возможные преимущества памяти?)

3) Разместите UIPickers на вид с крошечной высотой/шириной, а затем программно отрегулируйте высоту, когда это необходимо? Даже не уверен, что высота регулируется.

4) Сочетание некоторых из вышеперечисленных?

Вы можете видеть на картинке ниже, как суматоху она выглядит уже даже с точки зрения только один подборщика: enter image description here

+0

В прошлом у меня была кнопка, когда она была нажата, и она открывала UIPickerview в листе действий. Используя теги, вы можете определить, куда должны идти данные, которые были выбраны, и какие данные должны отображаться в UIPickerView. – logixologist

ответ

1

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

Если не видно более одного, сразу нет причин использовать более одного файла nib. И даже если вы использовали более одного, вам все равно придется настраивать методы делегирования/datasource для обработки каждого отдельного сборщика.

Надеюсь, что это поможет.

EDIT: Это будет немного работать, но если вы хотите, чтобы pickerView анимировал и выходил из вида, когда вам нужно, и если вы хотите еще больше очистить свой Xib, вы можете сделать следующее:

  • Создать подвид, содержащий ваш pickerView
  • Настройка протокола на подвид, чтобы позволить вам передать выбранное значение обратно на контроллер представления.
  • Настройте свой viewController, чтобы он соответствовал протоколу на подсмотре вашего подбора.
  • Установите pickerView для каждого входного элемента textField.
  • Задайте методы делегата textField для настройки источника данных вашего подвью в процессе редактирования.

Делая это, вы установили свой текстовый фильтр так, чтобы когда он получил firstResponder, он отобразит pickerView вместо клавиатуры.

+0

Это имеет смысл. Моя следующая мысль заключалась в том, что мне нужно было бы скорректировать координаты сборщика, чтобы появиться прямо под каждым полем, но, прочитав комментарий логиколога, я понял, что канонический способ показать сборщиков может быть через Листы действий – udit

2

Вид, который у вас есть с текстовыми полями и видами выбора, может стать частью UITableView.

Просмотреть приложение в календаре, когда вы добавляете событие.

Вы можете установить это довольно легко, используя статический UITableView.

Я отвечаю на свой телефон в данный момент, но, если хотите, вы найдете учебник.

+1

Конечно, я бы чтобы проверить учебник, если у вас есть шанс. благодаря – udit

Смежные вопросы