Замена UIDatePicker для tvOS?

Поскольку UIDatePicker недоступен в tvOS, что можно использовать, чтобы запросить у пользователя дату/время? Есть ли новый класс, который заменяет UIDatePicker?

Спасибо


person johnnyMac    schedule 20.11.2015    source источник
comment
Я считаю, что для UIDatePicker нет текущей реализации. Я искал один для своего собственного проекта, и в итоге я смоделировал его с табличным представлением с 3 разделами (дд-мм-гггг). Надеюсь, поможет :)   -  person Joel García Verástica    schedule 08.12.2015


Ответы (1)


Поскольку Apple не предоставляет средство выбора даты для tvOS, стандартного решения не существует.

Тем не менее, некоторые возможные шаги будут такими:

  1. Разработайте и внедрите пользовательский интерфейс для управления компонентами даты (= год, месяц, день, час, минута).
  2. Следите за текущей выбранной датой, например. используя сохраненное свойство. Метку даты можно обновить с помощью наблюдателей свойств (например, didSet).
  3. Реализуйте методы для управления выбранной датой — компонент за компонентом — и подключите их к пользовательскому интерфейсу.

Помните, что даты и вычисления дат сложны (!), поэтому используйте предоставленные концепции и методы дат - посмотрите Calendar и DateComponents в документации.

Там вы найдете полезные методы, например:

  • range(of: Calendar.Component, in: Calendar.Component, for: Date) можно использовать для определения количества месяцев в году, дней в месяце (и так далее).

  • dateComponents(Set<Calendar.Component>, from: Date) и date(from: DateComponents) можно использовать для преобразования дат в компоненты даты и наоборот.

  • Кроме того, isValidDate(in: Calendar) может быть полезно для проверки того, что компоненты даты образуют допустимую дату в определенном календаре.


Ниже приведена ссылка на пользовательский интерфейс (с UISegmentedControls), который я разработал для своего приложения, однако есть и другие решения, такие как решение, на которое ссылается ergoon.

Пользовательский интерфейс с сегментированными элементами управления.

В моем случае средство выбора даты отображается модально после выбора ячейки табличного представления в форме ввода.

person Linnea Rönnqvist    schedule 01.11.2016