PGDatePicker.h
4.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
//
// PGDatePicker.h
//
// Created by piggybear on 2017/7/25.
// Copyright © 2017年 piggybear. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "NSDate+PGCategory.h"
#import "UIColor+PGHex.h"
#import "NSCalendar+PGCurrent.h"
#import "PGPickerView.h"
typedef NS_ENUM(NSInteger, PGDatePickerMode) {
PGDatePickerModeYear, //年
PGDatePickerModeYearAndMonth, //年月
PGDatePickerModeDate, //年月日
PGDatePickerModeDateHour, //年月日时
PGDatePickerModeDateHourMinute, //年月日时分
PGDatePickerModeDateHourMinuteSecond, //年月日时分秒
PGDatePickerModeMonthDay, //月日
PGDatePickerModeMonthDayHour, //月日时
PGDatePickerModeMonthDayHourMinute, //月日时分
PGDatePickerModeMonthDayHourMinuteSecond, //月日时分秒
PGDatePickerModeTime, //时分
PGDatePickerModeTimeAndSecond, //时分秒
PGDatePickerModeMinuteAndSecond, //分秒
PGDatePickerModeDateAndTime, //月日周 时分
PGDatePickerModeYearAndMonthUnlimit //zx 年,月不限
};
typedef NS_ENUM(NSUInteger, PGDatePickerType) {
PGDatePickerType1,
PGDatePickerType2,
PGDatePickerType3,
};
#define PGDatePickerDeprecated(instead) __attribute__((deprecated(instead)))
@protocol PGDatePickerDelegate;
@interface PGDatePicker : UIControl
@property (nonatomic, weak) id<PGDatePickerDelegate> delegate;
@property (nonatomic, assign) PGDatePickerMode datePickerMode; // default is PGDatePickerModeYear
@property(nonatomic, assign) PGDatePickerType datePickerType;
/*
默认是false
如果设置为true,则不用按下确定按钮也可以得到选中的日期
每次滑动都会自动执行PGDatePickerDelegate代理方法,得到选中的日期
*/
@property(nonatomic, assign) BOOL autoSelected;
/*
默认是false
如果设置为true,只会显示中间的文字,其他行的文字则不会显示
*/
@property(nonatomic, assign) BOOL middleText PGDatePickerDeprecated("已过时,请使用isHiddenMiddleText进行替换");
/**
设置行高
*/
@property (nonatomic, assign) CGFloat rowHeight; //default is 50
/*
默认是true
如果设置为false,只会显示中间的文字,其他行的文字则不会显示
*/
@property(nonatomic, assign) BOOL isHiddenMiddleText; // default is true
@property(nonatomic, copy) UIColor *middleTextColor;
@property (nonatomic, strong)UIColor *titleColorForSelectedRow PGDatePickerDeprecated("已过时,请使用textColorOfSelectedRow进行替换");
@property (nonatomic, strong)UIColor *titleColorForOtherRow PGDatePickerDeprecated("已过时,请使用textColorOfOtherRow进行替换");
@property (nonatomic, strong)UIColor *textColorOfSelectedRow; //default is #69BDFF
@property(nonatomic, strong) UIFont *textFontOfSelectedRow; //default is 17
@property (nonatomic, strong)UIColor *textColorOfOtherRow; // default is [UIColor lightGrayColor]
@property(nonatomic, strong) UIFont *textFontOfOtherRow; //default is 17
@property(nonatomic, strong) UIColor *lineBackgroundColor; //default is #69BDFF
@property (nonatomic, strong) NSLocale *locale; // default is [NSLocale currentLocale]. setting nil returns to default
@property (nonatomic, copy) NSCalendar *calendar; // default is [NSCalendar currentCalendar]. setting nil returns to default
@property (nonatomic, strong) NSTimeZone *timeZone; // default is nil. use current time zone or time zone from calendar
@property (nonatomic, strong) NSDate *minimumDate; // specify min/max date range. default is nil. When min > max, the values are ignored. Ignored in countdown timer mode
@property (nonatomic, strong) NSDate *maximumDate; // default is nil
@property (nonatomic, copy) void(^selectedDate)(NSDateComponents *dateComponents);
/**
相当于确定按钮,执行此方法PGDatePickerDelegate代理方法会得到值
*/
- (void)tapSelectedHandler;
- (void)setDate:(NSDate *)date;
- (void)setDate:(NSDate *)date animated:(BOOL)animated;
@end
@protocol PGDatePickerDelegate <NSObject>
- (void)datePicker:(PGDatePicker *)datePicker didSelectDate:(NSDateComponents *)dateComponents;
@end