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 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速生成高效建站系统源代码?  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  网站页面设计需要考虑到这些问题  PHP 500报错的快速解决方法  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Android 常见的图片加载框架详细介绍  如何用PHP快速搭建CMS系统?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  如何在云虚拟主机上快速搭建个人网站?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何在Windows服务器上快速搭建网站?  *服务器网站为何频现安全漏洞?  网站制作软件有哪些,制图软件有哪些?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Swift中switch语句区间和元组模式匹配  如何用PHP快速搭建高效网站?分步指南  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  如何快速搭建高效香港服务器网站?  Laravel如何实现API版本控制_Laravel版本化API设计方案  如何快速完成中国万网建站详细流程?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  如何快速搭建高效WAP手机网站?  网站制作免费,什么网站能看正片电影?  详解Android——蓝牙技术 带你实现终端间数据传输  如何做网站制作流程,*游戏网站怎么搭建?  如何用AWS免费套餐快速搭建高效网站?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  北京网站制作公司哪家好一点,北京租房网站有哪些?  如何为不同团队 ID 动态生成多个“认领值班”按钮  实现点击下箭头变上箭头来回切换的两种方法【推荐】