YOUPAISelectBirthdayPickVC.m 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. //
  2. // YOUPAISelectBirthdayPickVC.m
  3. // MSYOUPAI
  4. //
  5. // Created by admin on 2022/3/3.
  6. // Copyright © 2022 MS. All rights reserved.
  7. //
  8. #import "YOUPAISelectBirthdayPickVC.h"
  9. @interface YOUPAISelectBirthdayPickVC ()
  10. @end
  11. @implementation YOUPAISelectBirthdayPickVC
  12. -(UIView *)customView{
  13. if(_customView == nil){
  14. _customView = [UIView new];
  15. _customView.backgroundColor = UIColor.whiteColor;
  16. }
  17. return _customView;
  18. }
  19. -(PGDatePicker *)datePicker{
  20. if(_datePicker == nil){
  21. _datePicker = [PGDatePicker new];
  22. _datePicker.backgroundColor = [UIColor whiteColor];
  23. _datePicker.rowHeight = 35;
  24. _datePicker.middleTextColor = LCBkgColor;
  25. _datePicker.textColorOfSelectedRow = LCBkgColor;
  26. _datePicker.textColorOfOtherRow = [LCBkgColor colorWithAlphaComponent:0.2f];
  27. _datePicker.textFontOfSelectedRow = LCFont(17);
  28. _datePicker.textFontOfOtherRow = LCFont(17);
  29. _datePicker.lineBackgroundColor = [UIColor clearColor];
  30. _datePicker.datePickerType = PGDatePickerTypeLine;
  31. _datePicker.isHiddenMiddleText = false;
  32. _datePicker.datePickerMode = PGDatePickerModeDate;
  33. _datePicker.autoSelected = true;
  34. _datePicker.delegate = self;
  35. NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  36. NSDate* currentDate = [NSDate date];
  37. [dateFormatter setDateFormat:@"yyyy"];
  38. NSString* currentYear=[dateFormatter stringFromDate:currentDate] ;
  39. [dateFormatter setDateFormat:@"MM"];
  40. NSString* currentMonth=[dateFormatter stringFromDate:currentDate];
  41. [dateFormatter setDateFormat:@"dd"];
  42. NSString* currentDay=[dateFormatter stringFromDate:currentDate] ;
  43. NSString* maxDateStr = [NSString stringWithFormat:@"%zd-%@-%@",[currentYear integerValue]-18,currentMonth,currentDay];
  44. NSString* minDateStr = [NSString stringWithFormat:@"%zd-%@-%@",[currentYear integerValue]-50,currentMonth,currentDay];
  45. [dateFormatter setDateFormat:@"yyyy-MM-dd"];
  46. _datePicker.maximumDate = [dateFormatter dateFromString:maxDateStr];
  47. _datePicker.minimumDate = [dateFormatter dateFromString:minDateStr];
  48. NSString* defaultDateStr;
  49. // if ([self.youpaipuserModel.youpaipuserinfo.youpaipbirthday isEqualToString:@""]) {
  50. // defaultDateStr = @"1999-03-15";
  51. // }else{
  52. // defaultDateStr = self.youpaipuserModel.youpaipuserinfo.youpaipbirthday;
  53. // }
  54. NSDate *date = [dateFormatter dateFromString:defaultDateStr];//上次设置的日期
  55. [self.datePicker setDate:date];
  56. }
  57. return _datePicker;
  58. }
  59. -(YOUPAIPickerViewHeader *)youpaipHeader{
  60. if(_youpaipHeader == nil){
  61. _youpaipHeader = [YOUPAIPickerViewHeader new];
  62. _youpaipHeader.backgroundColor = UIColor.whiteColor;
  63. [_youpaipHeader.youpaipCommitBtn addTarget:self action:@selector(confirmBtnClick) forControlEvents:UIControlEventTouchUpInside];
  64. [_youpaipHeader.youpaipCancleBtn addTarget:self action:@selector(cancelBtnClick) forControlEvents:UIControlEventTouchUpInside];
  65. }
  66. return _youpaipHeader;
  67. }
  68. - (void)viewDidLoad {
  69. [super viewDidLoad];
  70. [self.baseView setHidden:true];
  71. self.isTouchDismiss = true;
  72. [self youpaifMakeUI];
  73. [self youpaifMakeLayout];
  74. }
  75. - (void)youpaifMakeUI{
  76. [self.view addSubview:self.customView];
  77. [self.customView addSubview:self.youpaipHeader];
  78. [self.customView addSubview:self.datePicker];
  79. }
  80. -(void)youpaifMakeLayout{
  81. [_datePicker mas_makeConstraints:^(MASConstraintMaker *make) {
  82. make.bottom.mas_equalTo(-(SafeHeight+8));
  83. make.left.mas_equalTo(8);
  84. make.right.mas_equalTo(-8);
  85. make.height.mas_equalTo(180);
  86. }];
  87. [_youpaipHeader mas_makeConstraints:^(MASConstraintMaker *make) {
  88. make.top.mas_equalTo(0);
  89. make.left.right.mas_equalTo(0);
  90. make.height.mas_equalTo(49);
  91. }];
  92. [_customView mas_makeConstraints:^(MASConstraintMaker *make) {
  93. make.bottom.mas_equalTo(0);
  94. make.left.right.mas_equalTo(0);
  95. make.height.mas_equalTo(209+SafeHeight+49);
  96. }];
  97. [self.view layoutIfNeeded];
  98. [LCTools clipCorner:UIRectCornerTopLeft|UIRectCornerTopRight View:_customView size:CGSizeMake(16, 16)];
  99. }
  100. - (void)cancelBtnClick{
  101. [self dismissViewControllerAnimated:true completion:nil];
  102. }
  103. - (void)confirmBtnClick{
  104. if (self.delegate && [self.delegate respondsToSelector:@selector(didSelectBirthday:birthday:)]) {
  105. [self.delegate didSelectBirthday:self birthday:_selectDate];
  106. }
  107. [self dismissViewControllerAnimated:true completion:nil];
  108. }
  109. - (void)datePicker:(PGDatePicker *)datePicker didSelectDate:(NSDateComponents *)dateComponents{
  110. self.selectDate = dateComponents;
  111. }
  112. @end