聊天记录备份在mac微信上需要提供按所选时间段进行恢复的功能,这就得有一个日期选择控件,根据以前js的经验,日期插件的名字是“datepicker”,于是谷歌“nsdatepicker”,得到如下代码实现:
NSDatePicker *m_datePickerControl = [[NSDatePicker alloc] initWithFrame:NSMakeRect(x, y, w, h)];
[m_datePickerControl setDatePickerStyle:NSClockAndCalendarDatePickerStyle]; // 设置日期选择控件的类型为“时钟和日历”。其他类型有如,NSTextField文本框
[m_datePickerControl setDateValue: [NSDate date]]; // 初始化选中当前日期
[m_datePickerControl setAction:@selector(updateDateResult)]; // 绑定每次选择日期触发的action
[self addSubview:m_datePickerControl];
- (void)updateDateResult{
NSDate *theDate = [m_datePickerControl dateValue]; // 拿到当前选择的日期
if (theDate)
{
NSString *formattedDateString;
formattedDateString = [self formattedStrFromDate:theDate]; // 把选择的日期格式化成想要的形式
[self.startTimeField setStringValue: formattedDateString]; // 更新
}
}
效果图如下:
官方文档链接:
https://developer.apple.com/reference/appkit/nsdatepicker?language=objc
https://developer.apple.com/library/content/samplecode/DatePicker/Introduction/Intro.html