将日期设置为当前日期时,NSDatePicker无法刷新

时间:2014-01-04 16:00:48

标签: macos cocoa nsdate nsdatepicker

我有一个NSDatePicker,其关联的NSButton会在按下时将当前日期更改为“今天”。

但是:当日期是当前2014年1月4日时,我使用内置箭头按钮切换到另一个月而不更改实际所选日期,似乎没有办法让日历刷新。以下是该问题的视频:

问题视频: https://www.dropbox.com/s/ay7fljnoyxb06ua/Calendar%20Test%20Video.mov

有关示例,请参阅附带的示例项目。重现:

  1. 点击“今天”
  2. 单击右箭头按钮切换到其他月份(不选择实际日期)
  3. 点击“今天”
  4. 如果您在当前查看的月份中以编程方式选择的日期,则NSDatePicker似乎无法刷新,如果日期它正在从切换也是在不同的月份。

    但是,正确选择了日期 。如果使用按钮选择日期,则手动浏览回正确的月份,选择日期。但是,除非您从切换的日期在当前查看的月份,否则日历永远不会自动显示您的那个月。

    示例项目: https://www.dropbox.com/s/tnpox2mt5f5z2nb/CalendarTest.zip

1 个答案:

答案 0 :(得分:2)

我会file this as a bug反对API,因为类中没有方法表明你必须要求它手动刷新(我假设设置所选日期会自动显示适当的显示范围选择)。

作为解决方法,您可以尝试让它显示(-setNeedsDisplay:YES)或在设置日期后手动调整其最小/最大范围,然后立即将其设置为无限制。也许这会启动它以显示所选日期的正确范围。