2013-03-18 2 views
1

Поскольку UIPickerView не может быть настроен на уровень, который я хочу (не рискуя, скрывая определенные подъязыки), мне нужно катиться самостоятельно, чтобы выбрать время.Как создать собственный UIPickerView?

Я полагаю, что я могу сделать это с помощью двух UITableViews, но я не уверен, как это сделать 2 вещи:

1) Как определить, какой элемент находится в середине зрения (т.е. который один сделал пользователь выбирает)?

2) Как сделать привязку таблицы к ячейке, ближайшей к середине просмотра, как только пользователь остановил прокрутку?

Благодарим за помощь.

+0

UIDatePicker - не вариант? –

+0

Нет, вы не можете настроить сборщик дат вообще, помимо добавления наложения или входа и редактирования подпунктов один за другим. И даже тогда вы не можете изменить шрифты ярлыков. – bmueller

ответ

2

Почему вы говорите, что UIPickerView не может быть настроен ?. Он имеет кучу методов делегата из, чтобы много настройки, такие как представления для строк, высота для строк и т.д. и т.п ..

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIPickerViewDelegate_Protocol/Reference/UIPickerViewDelegate.html

Реализация делегата в вашем ViewController и настроить его, как вы хотите.

+0

Моя ошибка. Я знаю, что UIDatePicker не может быть настроен, поэтому я подумал, что для UIPickerView одинаково. Вы можете избавиться от фрейма Picker View? Я буду искать минимализм в своем приложении. – bmueller

+0

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

0

Вы просто пытаетесь выбрать время? Затем используйте UIDatePicker. Это представление выбора времени/даты.

+0

Вы определенно не можете настроить UIDatePicker. – bmueller

0

В зависимости от типа настройки, который вы хотите, вам может не понадобиться создать собственный UIPickerView. Вы можете возвращать свои собственные представления для каждого компонента с помощью UIPickerViewDelegate. Проверить pickerView:viewForRow:forComponent:reusingView:

0

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

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