2017-01-04 4 views
0

У меня есть UIPickerView, который содержит значения 0-100. Когда я прокручиваю вверх, он соответственно поднимается (0, 1, 2 и т. Д.) (См. Прикрепленное изображение)Изменение направления перемещения/обратного перемещения UIPickerView

Можно ли прокрутить до и поднять номера таким образом?

По существу я хочу обратить свиток для UIPickerView так в предоставленных изображениях, число будет отменено, и, как я прокручивать вниз число увеличится до 100.

На viewDidLoad я попытался

[self.pickerView selectRow:100 inComponent:0 animated:YES]; 

Однако это точно так же, как и прямо на 100.

picker view scrolling

+0

Если я правильно понял, почему бы вам не отменить часть источника данных. Вместо указания строкового значения для строки «rowNumber%», укажите «100-rowNumber%»? – Larme

+0

@ Larme, который был оригинальным решением, которое я имел, однако, я не упоминал, что цифры не всегда 0-100. Я могу иметь разные массивы чисел (то есть 0, 25, 25, 50, 80, 100), и они не будут последовательно – Simon

+0

Просто измените массив: http://stackoverflow.com/questions/586370/how-can- я-обращенно-а-NSArray-в-Objective-C – Larme

ответ

2

Я предлагаю вам изменить порядок чисел в источнике данных, а затем установить начальный выбор до последней строки. Эта комбинация дает вам то, что вы хотите.

Я также рекомендую реализовать (или найти стороннюю реализацию) «круглый» выборщик. См. Столбец минут в представлении выбора, который используется на вкладке «Таймер» стандартного приложения «Часы» для примера того, что я имею в виду.