UIDatePicker取代了tvOS?

时间:2015-11-20 22:54:01

标签: tvos

由于在tvOS中没有UIDatePicker,用什么来询问用户的日期/时间?是否有新课程取代app.controller('authController', function($scope, $http, $location, $window) { $scope.user = {username:'', password:''}; $scope.alert = ''; $scope.login = function(user) { $http.post('/auth/login', user). success(function(data) { console.log("you are at /auth/login 0"); $scope.loggedUser = data; //$location.path('/index.html'); // why this not working ? $window.location.href = "/index.html#/page2"; // this works }). error(function() { console.log("you are at /auth/login 1"); $scope.alert = 'Login failed' }); }; .... });

由于

2 个答案:

答案 0 :(得分:1)

目前看来你需要自己构建一些东西。有一个很好的概念,有一些解释here

答案 1 :(得分:1)

由于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)的链接,但是,还有其他解决方案,例如由 ergoon 链接的解决方案。

    User interface with segmented controls.

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