mac开发系列28:日期选择功能实现

聊天记录备份在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

你可能感兴趣的:(mac开发系列28:日期选择功能实现)