Создание пользовательского представления выбора
Я пытаюсь создать повторно используемый UIPickerView, в отличие от UIDatePicker, для использования в нескольких табличных представлениях. Представление прекрасно работает, но так как его делегат должен быть самим собой (чтобы установить компоненты и строки), я не могу реализовать метод didSelectRow:inComponent: (для обновления меток и модели) в tableViewControllers, в которых он используется.
Как я могу создать подкласс UIPickerView и при этом предоставить делегата? Если UIDatePicker может сделать это, я предполагаю, что есть довольно простой способ.
1 ответ
Осматривая UIDatePicker, он является подклассом UIControl и следует шаблону target-action. Похоже, Apple просто добавляет UIPickerView в качестве подпредставления к UIControl. UIDatePicker сделал это начиная с оригинального SDK, поэтому я думаю, что я буду придерживаться этого метода для создания собственного, автономного PickerView.
Дополнительная информация о пользовательской реализации пользовательского UIControl: http://www.raywenderlich.com/76433/how-to-make-a-custom-control-swift