iOS实现自定义日期选择器示例

发布时间 - 2026-01-10 22:54:41    点击率:

iOS自定义日期选择器,下面只是说明一下怎么用,具体实现请在最后下载代码看看;

效果如下:

.h文件解析

选择日期选择器样式

typedef enum{
 DateStyleShowYearMonthDayHourMinute = 0,
 DateStyleShowMonthDayHourMinute,
 DateStyleShowYearMonthDay,
 DateStyleShowMonthDay,
 DateStyleShowHourMinute 
}XHDateStyle;
//日期选择器样式
@property (nonatomic,assign)XHDateStyle datePickerStyle;

DateStyleShowYearMonthDayHourMinute :显示年月日时分

DateStyleShowMonthDayHourMinute : 显示月日时分(年份在底部显示)


DateStyleShowYearMonthDay :显示年月日

DateStyleShowMonthDay :显示月日(年份在底部显示)

DateStyleShowHourMinute :显示时分

设置时间类型

typedef enum{
 DateTypeStartDate,
 DateTypeEndDate 
}XHDateType;
//设置是时间类型
@property (nonatomic,assign)XHDateType dateType;

DateTypeStartDate:开始时间

DateTypeEndDate :结束时间

设置最大最小时间限制

@property (nonatomic, retain) NSDate *maxLimitDate;//限制最大时间(没有设置默认2049)
@property (nonatomic, retain) NSDate *minLimitDate;//限制最小时间(没有设置默认1970)

init对象(completeBlock 是点击确定后的回调,返回开始时间和结束时间)

-(instancetype)initWithCompleteBlock:(void(^)(NSDate *,NSDate *))completeBlock;

具体使用代码

  XHDatePickerView *datepicker = [[XHDatePickerView alloc] initWithCompleteBlock:^(NSDate *startDate,NSDate *endDate) {
    NSLog(@"\n开始时间: %@,结束时间:%@",startDate,endDate);
    self.startTimeText.text = [startDate stringWithFormat:@"yyyy-MM-dd HH:mm"];
    self.endtimeText.text = [endDate stringWithFormat:@"yyyy-MM-dd HH:mm"];
  }];
  datepicker.datePickerStyle = DateStyleShowYearMonthDayHourMinute;
  datepicker.dateType = DateTypeStartDate;
  datepicker.minLimitDate = [NSDate date:@"2017-08-11 12:22" WithFormat:@"yyyy-MM-dd HH:mm"];
  datepicker.maxLimitDate = [NSDate date:@"2025-12-12 12:12" WithFormat:@"yyyy-MM-dd HH:mm"];
  [datepicker show];

NSLog打印的时间会和实际时间相差8小时,转成字符串会打印出正确的时间。(因为NSLog里,对时间的格式化是按GMT时间来转的,GMT时间与北京时间相差8小时)

demo下载:XHDatePicker_jb51.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# ios  # 自定义日期选择器  # 日期时间选择器  # 日期选择器  # iOS自定义UIDatePicker日期选择器视图  # iOS自定义UIDatepicker日期选择器视图分享  # iOS自定义日期、时间、城市选择器实例代码  # Android开发中实现IOS风格底部选择器(支持时间 日期 自定义)  # iOS自定义日期选择器  # 选择器  # 结束时间  # 月日  # 请在  # 自定义  # 回调  # 转成  # 大家多多  # assign  # datePickerStyle  # property  # XHDateStyle  # DateStyleShowHourMinute  # nonatomic  # retain  # NSDate  # maxLimitDate  # dateType  # DateTypeStartDate  # DateTypeEndDate 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251811 】 【 AI营销90571


相关推荐: WordPress 子目录安装中正确处理脚本路径的完整指南  如何快速搭建虚拟主机网站?新手必看指南  Laravel如何使用withoutEvents方法临时禁用模型事件  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Bootstrap整体框架之CSS12栅格系统  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  使用Dockerfile构建java web环境  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  再谈Python中的字符串与字符编码(推荐)  QQ浏览器网页版登录入口 个人中心在线进入  晋江文学城电脑版官网 晋江文学城网页版直接进入  如何在阿里云香港服务器快速搭建网站?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  PythonWeb开发入门教程_Flask快速构建Web应用  怎样使用JSON进行数据交换_它有什么限制  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  如何快速上传自定义模板至建站之星?  JavaScript模板引擎Template.js使用详解  JS弹性运动实现方法分析  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  网站图片在线制作软件,怎么在图片上做链接?  JavaScript如何实现音频处理_Web Audio API如何工作?  如何用美橙互联一键搭建多站合一网站?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  利用vue写todolist单页应用  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  如何用免费手机建站系统零基础打造专业网站?  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  音响网站制作视频教程,隆霸音响官方网站?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  魔毅自助建站系统:模板定制与SEO优化一键生成指南  如何打造高效商业网站?建站目的决定转化率  个人网站制作流程图片大全,个人网站如何注销?  jQuery validate插件功能与用法详解  Linux系统命令中screen命令详解  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  如何用AWS免费套餐快速搭建高效网站?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  北京的网站制作公司有哪些,哪个视频网站最好?  大连网站制作公司哪家好一点,大连买房网站哪个好?  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  *服务器网站为何频现安全漏洞?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  Android 常见的图片加载框架详细介绍