【问题标题】:NSDatePicker Change Day with StepperNSDatePicker 使用 Stepper 更改日
【发布时间】:2014-03-01 19:20:31
【问题描述】:

我有一个带有文本的 NSDatePicker 和一个显示月/日/年(正常美国日期格式)的步进器。现在,当我在没有选择任何内容的情况下单击步进器时,它默认为更改月份;但是,在我正在构建的应用程序的上下文中,让它默认更改日期更有意义。我在类参考中没有看到任何关于步进器如何编辑日期的内容——有什么方法可以将 NSDatePicker 子类化来执行此操作吗?

【问题讨论】:

  • 以编程方式选择要编辑的字段,只能使用NSPickerDateCell私有方法来完成。见NSDatePicker, selecting elements, and field editors
  • @Emmanuel 谢谢——这是否意味着如果不访问源代码,这种方法是不可能的,正如该链接中的帖子所说,或者有人对私有方法是什么有任何想法吗?
  • 这意味着这个方法可以在任何操作系统更新时改变(或消失),没有关于它的文档,如果你使用它,你的应用程序可能会被 Mac App Store 拒绝。所以如果你还想尝试使用它,请获取class-dump
  • 谢谢,我会试试的。我正在私下分发应用程序,而不是通过 App Store。

标签: objective-c cocoa nsdate nsdatepicker


【解决方案1】:

就在我的脑海中,这是我的想法

Datepicker 可以设置为特定的 NSDate,所以做一个步进器,当它被按下时,如果他们按下了

找到你的 datePicker 的 currentDate,从这个日期开始找到 dateWithInterval(1 天是 60 * 60 * 24 秒)

将 datePicker.date 设置为这个新日期

我知道这不是最理想的解决方案,但如果它对您的应用很重要,它会给您更多的控制权。

【讨论】:

  • 仅供参考:由于夏令时,一天可能是60 * 60 * 2460 * 60 * 2360 * 60 * 25 秒长。由于闰秒,它也可能是60 * 60 * 24 + 1 秒长。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-14
  • 1970-01-01
  • 2021-02-28
  • 2020-03-02
  • 1970-01-01
  • 2018-12-31
相关资源
最近更新 更多