PGDatePicker 2.6.9

PGDatePicker 2.6.9

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布时间最后发布2019年1月

piggybear维护。



  • 作者
  • piggybear

PGDatePicker

日期选择器,支持年、年月、年月日、年月日时、年月日时分、年月日时分秒、月日、月日时、月日时分、月日时分秒、时、时分、时分秒、分秒、月日周 时分等,内置了3种样式。

由于使用UIPickerView时列表会有弧度,因此这里使用了PGPickerView

PGDatePicker CocoaPods compatible

直接看如何使用:Wiki

样式1

year

样式2

year

样式3

year

只显示中间的文字,将isHiddenMiddleText设置为false即可,默认是true

年份

year

年月

year

年月日

year

年月日时

year

年月日时分

year

年月日时分秒

year

月日

year

月日时

year

月日时分

year

月日时分秒

year

时分

year

时分秒

year

分秒

year

月日周 时分

year

其他样式

屏幕快照1

其他样式

屏幕快照2

设置自己的样式

如果内置的样式不能满足你的需要,可以完全支持自己设置样式,可以将PGDatePicker创建出来添加到你的View上。

PGDatePicker *datePicker = [[PGDatePicker alloc]init];
[self.view addSubview:datePicker];

PGDatePickManager类就是一个典型的例子,你可以下载源码查看PGDatePickManager的简单实现,这或许对你进行封装会有所帮助。

Swift使用

查看使用文档

CocoaPods安装

pod 'PGDatePicker'

1.5.1版本中已对iPhone X进行了适配

使用

引入头文件

#import <PGDatePick/PGDatePickManager.h>
PGDatePickManager *datePickManager = [[PGDatePickManager alloc]init];
PGDatePicker *datePicker = datePickManager.datePicker;
datePicker.delegate = self;
[self presentViewController:datePickManager animated:false completion:nil];

Delegate

#pragma PGDatePickerDelegate
- (void)datePicker:(PGDatePicker *)datePicker didSelectDate:(NSDateComponents *)dateComponents {
NSLog(@"dateComponents = %@", dateComponents);
}

Block

datePicker.selectedDate = ^(NSDateComponents *dateComponents) {
    NSLog(@"dateComponents = %@", dateComponents);
};

如果不设置minimumDatemaximumDate,默认是无限的

语言跟随手机系统语言,默认有英文、中文、繁体中文,如果是模拟器,将模拟器的系统语言改为中文即可显示中文

设置弧度(目前仍需优化)

datePicker.isHiddenWheels = false;

设置循环滚动

datePicker.isCycleScroll = true;

设置样式

PGDatePickManager *datePickManager = [[PGDatePickManager alloc]init];
PGDatePicker *datePicker = datePickManager.datePicker;
datePicker.delegate = self;
datePicker.datePickerMode = PGDatePickerModeDate;
[self presentViewController:datePickManager animated:false completion:nil];

datePickManager.titleLabel.text = @"PGDatePicker";
//设置半透明的背景颜色
datePickManager.isShadeBackgroud = true;
//设置头部的背景颜色
datePickManager.headerViewBackgroundColor = [UIColor orangeColor];
//设置线条的颜色
datePicker.lineBackgroundColor = [UIColor redColor];
//设置选中行的字体颜色
datePicker.textColorOfSelectedRow = [UIColor redColor];
//设置未选中行的字体颜色
datePicker.textColorOfOtherRow = [UIColor blackColor];
//设置取消按钮的字体颜色
datePickManager.cancelButtonTextColor = [UIColor blackColor];
//设置取消按钮的字
datePickManager.cancelButtonText = @"Cancel";
//设置取消按钮的字体大小
datePickManager.cancelButtonFont = [UIFont boldSystemFontOfSize:17];

//设置确定按钮的字体颜色
datePickManager.confirmButtonTextColor = [UIColor redColor];
//设置确定按钮的字
datePickManager.confirmButtonText = @"Sure";
//设置确定按钮的字体大小
datePickManager.confirmButtonFont = [UIFont boldSystemFontOfSize:17];

非常感谢xyhuangjia添加隐藏字的功能

//首先将isHiddenMiddleText设置为false
datePicker.isHiddenMiddleText = false;

//然后设置showUnit
datePicker.showUnit = PGShowUnitTypeNone;

typedef NS_ENUM(NSUInteger, PGShowUnitType) {
    PGShowUnitTypeAll,      //显示全部的字
    PGShowUnitTypeCenter,   //只显示中间的字
    PGShowUnitTypeNone,     //什么字都不显示
};

非常感谢sujiewen添加的如下功能
1、只显示时的功能
2、对时分间隔自定义支持

//在时分的时候,只显示时
@property (nonatomic) BOOL isOnlyHourFlag;

//分间隔 默认时1
@property (nonatomic) NSInteger minuteInterval;

//秒间隔 默认时1
@property (nonatomic) NSInteger secondInterval;

非常感谢Graphicooooone添加的自定义收起动画接口的功能

/**
 custom dismiss controller animation, return the total duration of the custom animation, default is nil
 */
@property (nonatomic, copy) NSTimeInterval(^customDismissAnimation)(UIView* dismissView, UIView* contentView ); 

最新版本

CocoaPods compatible

想说的话

大家有好的建议欢迎随时提交PR,共同维护。

许可证

PGDatePicker 使用 MIT 许可证,详情见 LICENSE 文件。