Можно ли написать расширение Swift для UIDatePicker.Mode - PullRequest
0 голосов
/ 08 марта 2019

Из документации Apple , UIDatePicker.Mode - это enum типа Int с четырьмя корпусами.

enum Mode : Int

case time
case date
case dateAndTime
case countDownTimer

Мне интересно узнать, могу ли я добавитьпятый case monthYear (= 4), чтобы я мог создать пользовательскую реализацию UIDatePicker.

Цель этого пятого случая - отображать только ролики месяца и года в элементе управления средства выбора.

(Обратите внимание, что я знаю, что могу - и, вероятно, сделаю - создать пользовательский UIPickerView для этого, однако мне интересно знать, могу ли я изящно расширить класс UIDatePicker или UIDatePicker.Mode enum для достижения этого.)

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

Так что, по моему скромному мнению, чтобы иметь возможность аккуратно расширять UIDatePicker, мне нужно сначала иметь возможность расширять UIDatePicker.Mode.

Я имеютакже прочитайте документацию Apple под заголовком Внешний вид ...

Внешний вид UIDatePicker не настраивается.

Это кажется мне вполне определенным, однако задавать вопрос не мешает ...

Можно ли написать расширение Swift для UIDatePicker.Mode, чтобы я мог добавить пятую case monthYear и для UIDatePicker, чтобы я мог написать собственную реализацию, которая показывает только ролики месяца и года в элементе управления?

1 Ответ

0 голосов
/ 08 марта 2019

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

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

...