关闭

MacOS 开发 - NSDatePicker(日期选择)

标签: MacOS选择时间MacOS开发datePicker
2083人阅读 评论(1) 收藏 举报
分类:

使用 NSDatePicker 就可以调出日期选择,结果图如最下。


注意事项

  • 建议把这个 picker 作为全局变量,这样就不会每次点击按钮都添加。
  • 使用setAction 监听选中的值;
  • 不管给 picker 设置的 frame 是多大,picker 的显示大小是固定的。
  • 调出的 picker 带有日期和钟表的时间,选择日期 和 拨动钟表盘的 时分秒 针 都会触发 updateDateResult 方法

创建

- (void)pickTime{
    NSDatePicker *datePicker = [[NSDatePicker alloc] initWithFrame:NSMakeRect(0, 0, 300, 300)];
    [datePicker setDatePickerStyle:NSClockAndCalendarDatePickerStyle];

    datePicker.wantsLayer = YES;
    datePicker.layer.backgroundColor = [NSColor cyanColor].CGColor;

    // 设置日期选择控件的类型为“时钟和日历”。其他类型有如,NSTextField文本框
    [datePicker setDateValue: [NSDate date]];
    // 初始化选中当前日期
    [datePicker setAction:@selector(updateDateResult:)];
    // 绑定每次选择日期触发的action
    [self.view addSubview:datePicker];
}

- (void)updateDateResult:(NSDatePicker *)datePicker{

    // 拿到当前选择的日期
    NSDate *theDate = [datePicker dateValue];

    NSLog(@"日期:%@",theDate);

    if (theDate) {

        // 把选择的日期格式化成想要的形式
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

        NSString *dateString = [formatter stringFromDate:theDate];

        NSLog(@"日期:%@",dateString);

    }
}

枚举

NSDatePickerStyle

typedef NS_ENUM(NSUInteger, NSDatePickerStyle) {
    NSTextFieldAndStepperDatePickerStyle    = 0,
    NSClockAndCalendarDatePickerStyle       = 1,
    NSTextFieldDatePickerStyle              = 2
};

NSDatePickerStyle


NSDatePickerElementFlags

typedef NS_OPTIONS(NSUInteger, NSDatePickerElementFlags) {
    /* Time Elements */
    NSHourMinuteDatePickerElementFlag       = 0x000c,
    NSHourMinuteSecondDatePickerElementFlag = 0x000e,
    NSTimeZoneDatePickerElementFlag     = 0x0010,

    /* Date Elements */
    NSYearMonthDatePickerElementFlag        = 0x00c0,
    NSYearMonthDayDatePickerElementFlag     = 0x00e0,
    NSEraDatePickerElementFlag          = 0x0100,
};

效果图

这里写图片描述


参考资料

悲观患者的《mac开发系列28:日期选择功能实现》http://www.jianshu.com/p/6886ed384cc4

0
0
查看评论
发表评论
* 以上用户言论只代表其个人钱柜娱乐开户,不代表CSDN网站的钱柜娱乐开户或立场

NSDate、NSDateFormatter、NSDatePicker介绍

~~~~我的生活,我的点点滴滴!! #pragma mark  NSDate创建(只举例类方法,实例方法一样) // 返回当前时间(GMT,0时区,格林尼治时间) + (id)dat...
  • AC_huang
  • AC_huang
  • 2015-04-16 15:30
  • 1386

UIDatePicker 日期/时间选取器(滚轮)—IOS开发

声明 欢迎转载,但是请尊重作者劳动成果,转载请保留此框内声明,谢谢。 文章出处:/iukey UIDatePi...
  • iukey
  • iukey
  • 2012-03-07 00:58
  • 90250

NSDatepicker

设置datepicker的显示区间,(最大值和最小值) [datePicker setMinimumDate:[NSDate date]]; // NSDate*maxDate=[...
  • u013020103
  • u013020103
  • 2015-08-08 16:19
  • 528

钱柜娱乐开户 日期选择器隐藏年,月,日

业务场景如下:类中有一个显示 yyyy-mm时间格式的组件。当点击弹出框,弹出隐藏日的时间选择器,当选择时候 可以对组件重新复制,弹出框显示默认为上一次选择的日期。确定的时候,选择的时间不能大于当前时...
  • a872822645
  • a872822645
  • 2016-04-06 11:15
  • 2983

使用UIDatePicker来选取日期和时间

使用UIDatePicker来选取日期和时间
  • qq_33777090
  • qq_33777090
  • 2016-06-01 18:48
  • 1829

安卓开发中的双日期选择控件(可隐藏日,只显示年月)

安卓开发中的双日期选择控件(可隐藏日,只显示年月) 在安卓开发中,会碰到选开始日期和结束日期的问题。特别是在使用Pad时,如果弹出一个Dialog,能够同时选择开始日期和结束日期,那将是极好...
  • Solo_two
  • Solo_two
  • 2016-08-30 10:34
  • 2207

ASP开发实例 窗口及页面设置的一些样式 鼠标单击链接样式 为弹出的窗口加入关闭按钮 日期选择器 弹出全屏显示网页 关闭IE主窗口时,不弹出询问对话框 弹出网页对话框 安徽机电职业技术学院 陈伟

  • 2009-06-08 10:54
  • 2.40MB
  • 下载

Linux/MacOS下matplotlib能正常显示的中文字体选择

下面的Python脚本可以检测到 *nix 系统内 matplotlib 支持正常显示的中文字体(用到了命令行工具 fc-list ): #!/usr/bin/env python # -*- co...
  • u010129448
  • u010129448
  • 2017-03-23 17:17
  • 1315

使用Swift开发一个MacOS的菜单状态栏App

这两天突然想看看OSX下的App开发,看了几篇文章。下面这一篇我觉得入门是非常好的。我仅转述为中文,并非原文翻译。原文地址:http://footle.org/WeatherBar/ 下面开始介绍如...
  • yanghuiliu
  • yanghuiliu
  • 2016-07-28 12:11
  • 6659

MacOS 搭建钱柜娱乐开户开发环境

如何在MAC OS X 安装钱柜娱乐开户 SDK我以往用的开发环境都是以MAC OS安装VMware来跑不同的Windows OS,目前慢慢的将所要开发的项目由以往的传统的Wintel转移到Mobi...
  • ttth202507
  • ttth202507
  • 2011-06-11 12:46
  • 8223
    钱柜娱乐开户
    个人资料
    • 访问:192731次
    • 积分:3225
    • 等级:
    • 排名:第12255名
    • 原创:123篇
    • 转载:6篇
    • 译文:1篇
    • 评论:97条
    最新评论