【Swift Objective C】強勁的日期選擇控制元件

小豬熊發表於2017-12-13

日期選擇器,支援年、年月、年月日、年月日時分、年月日時分秒、時分、時分秒、月日周 時分等,內建了3種樣式。

由於使用UIPickerView的話,列表會有個弧度,所以這裡用了PGPickerView

PGDatePicker.gif

樣式1

樣式1.png

樣式2

樣式2.png

樣式3

樣式3.png

只顯示中間的文字,設定middleTexttrue即可,預設是false

年份

年.jpg

年月

年月.jpg

年月日

年月日.jpg

年月日時分

年月日時分.jpg

年月日時分秒

年月日時分秒.jpg

時分

時分.jpg

時分秒

時分秒.jpg

月日周時分

月日周時分.jpg

GitHub地址

https://github.com/xiaozhuxiong121/PGDatePicker

Swift使用

Swift教程

CocoaPods安裝

pod 'PGDatePicker', '>= 1.4.5'
複製程式碼

使用

PGDatePicker *datePicker = [[PGDatePicker alloc]init];
datePicker.delegate = self;
[datePicker show];
datePicker.datePickerMode = PGDatePickerModeYear;
 
#pragma PGDatePickerDelegate
- (void)datePicker:(PGDatePicker *)datePicker didSelectDate:(NSDateComponents *)dateComponents {
    NSLog(@"dateComponents = %@", dateComponents);
}
複製程式碼

如果不設定minimumDatemaximumDate預設是無窮小和無窮大

設定Date

建議用NSDate+PGCategory類所定義的方法去設定

+ (NSDate *)setYear:(NSInteger)year;
+ (NSDate *)setYear:(NSInteger)year month:(NSInteger)month;
+ (NSDate *)setYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day;
+ (NSDate *)setYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day hour:(NSInteger)hour minute:(NSInteger)minute;
+ (NSDate *)setYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day hour:(NSInteger)hour minute:(NSInteger)minute second:(NSInteger)second;
+ (NSDate *)setHour:(NSInteger)hour minute:(NSInteger)minute;
+ (NSDate *)setHour:(NSInteger)hour minute:(NSInteger)minute second:(NSInteger)second;
+ (NSDate *)setMonth:(NSInteger)month day:(NSInteger)day hour:(NSInteger)hour minute:(NSInteger)minute;
複製程式碼

比如:datePicker.maximumDate = [NSDate setYear:2017];

設定樣式

//設定線條的顏色
datePicker.lineBackgroundColor = [UIColor redColor];
//設定選中行的字型顏色
datePicker.titleColorForSelectedRow = [UIColor redColor];
//設定未選中行的字型顏色
datePicker.titleColorForOtherRow = [UIColor blackColor];

//設定取消按鈕的字型顏色
datePicker.cancelButtonTextColor = [UIColor blackColor];
//設定取消按鈕的字
datePicker.cancelButtonText = @"取消";
//設定取消按鈕的字型大小
datePicker.cancelButtonFont = [UIFont boldSystemFontOfSize:17];

//設定確定按鈕的字型顏色
datePicker.confirmButtonTextColor = [UIColor redColor];
//設定確定按鈕的字
datePicker.confirmButtonText = @"確定";
//設定確定按鈕的字型大小
datePicker.confirmButtonFont = [UIFont boldSystemFontOfSize:17];

複製程式碼

相關文章