在TV OS中替换datepicker

时间:2015-12-08 06:30:34

标签: tvos

TVOS中无法使用UIDate选择器。如何选择日期和时间可以选择日期和时间。

1 个答案:

答案 0 :(得分:0)

这个答案专注于Swift - 但是,Objective-C中提供了类似的方法。

由于Apple没有为tvOS提供日期选择器,因此没有标准的解决方案。

但是,一些可能的步骤是:

  1. 设计并实现用于操作日期组件的UI(=年,月,日,小时,分钟)。
  2. 跟踪当前选择的日期,例如使用存储的属性。可以使用属性观察者更新日期标签(例如, didSet)。
  3. 实现操作所选日期的方法 - 逐个组件 - 并将它们连接到UI。
  4. 请记住日期和日期计算很复杂(!),因此请使用提供的日期概念和方法 - 在文档中查看CalendarDateComponents

    在那里,你会找到有用的方法,例如:

    • range(of: Calendar.Component, in: Calendar.Component, for: Date) 可用于查找一年中的月数,一个月中的天数 (依此类推)。

    • dateComponents(Set<Calendar.Component>, from: Date)date(from: DateComponents)可用于将日期转换为日期组件 反之亦然。

    • 此外,isValidDate(in: Calendar)可用于检查该日期 组件在特定日历中形成有效日期。

    以下是我为自己的应用开发的用户界面(UISegmentedControl s)的链接,但是,其他解决方案也是可行的。

    User interface with segmented controls.

    在我的情况下,在输入表格中选择表格视图单元格后,会以模态方式显示日期选择器。