YOUPAIPickerSelectValueVC.m 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. //
  2. // YOUPAIPickView.m
  3. // MSYOUPAI
  4. //
  5. // Created by admin on 2022/3/3.
  6. // Copyright © 2022 MS. All rights reserved.
  7. //
  8. #import "YOUPAIPickerSelectValueVC.h"
  9. @interface YOUPAIPickerSelectValueVC ()
  10. @end
  11. @implementation YOUPAIPickerSelectValueVC
  12. -(UIView *)customView{
  13. if(_customView == nil){
  14. _customView = [UIView new];
  15. _customView.backgroundColor = UIColor.whiteColor;
  16. }
  17. return _customView;
  18. }
  19. -(YOUPAIPickerViewHeader *)youpaipHeader{
  20. if(_youpaipHeader == nil){
  21. _youpaipHeader = [YOUPAIPickerViewHeader new];
  22. _youpaipHeader.backgroundColor = UIColor.whiteColor;
  23. [_youpaipHeader.youpaipCommitBtn addTarget:self action:@selector(confirmBtnClick) forControlEvents:UIControlEventTouchUpInside];
  24. [_youpaipHeader.youpaipCancleBtn addTarget:self action:@selector(cancelBtnClick) forControlEvents:UIControlEventTouchUpInside];
  25. }
  26. return _youpaipHeader;
  27. }
  28. -(PGPickerView *)pickerView{
  29. if( _pickerView == nil){
  30. _pickerView = [PGPickerView new];
  31. _pickerView.type = PGPickerViewLineTypeline;
  32. _pickerView.lineBackgroundColor = [UIColor clearColor];
  33. _pickerView.lineHeight = 0.0f;
  34. _pickerView.verticalLineBackgroundColor = [UIColor clearColor];
  35. _pickerView.verticalLineWidth = 0.0f;
  36. _pickerView.backgroundColor = [UIColor whiteColor];
  37. _pickerView.isHiddenMiddleText = YES;
  38. _pickerView.rowHeight = 44;
  39. _pickerView.middleTextColor = [[UIColor whiteColor] colorWithAlphaComponent:0.2f];
  40. _pickerView.textColorOfSelectedRow = LZ273145Color;
  41. _pickerView.textColorOfOtherRow = LZD3D1D7Color;
  42. _pickerView.textFontOfSelectedRow = LCFont(17);
  43. _pickerView.textFontOfOtherRow = LCFont(17);
  44. _pickerView.lineBackgroundColor = [UIColor clearColor];
  45. _pickerView.delegate = self;
  46. _pickerView.dataSource = self;
  47. }
  48. return _pickerView;
  49. }
  50. - (void)viewDidLoad {
  51. [super viewDidLoad];
  52. [self.baseView setHidden:true];
  53. self.isTouchDismiss = true;
  54. if (_dataSouce.count<=0){
  55. [self youpaifInitValue];
  56. }
  57. [self youpaifMakeUI];
  58. [self youpaifMakeLayout];
  59. self.selectIndex = 0;
  60. }
  61. -(void)youpaifInitValue{
  62. _dataSouce = [NSMutableArray arrayWithArray:@[@"160",@"162"]];
  63. }
  64. -(void)setSelectIndex:(NSInteger)selectIndex{
  65. if (_selectIndex == selectIndex){
  66. return;
  67. }
  68. _selectIndex = selectIndex;
  69. [self.pickerView selectRow:_selectIndex inComponent:0 animated:nil];
  70. }
  71. - (void)youpaifMakeUI{
  72. [self.view addSubview:self.customView];
  73. [self.customView addSubview:self.youpaipHeader];
  74. [self.customView addSubview:self.pickerView];
  75. }
  76. -(void)youpaifMakeLayout{
  77. [_pickerView mas_makeConstraints:^(MASConstraintMaker *make) {
  78. make.bottom.mas_equalTo(-(SafeHeight+8));
  79. make.left.mas_equalTo(8);
  80. make.right.mas_equalTo(-8);
  81. make.height.mas_equalTo(180);
  82. }];
  83. [_youpaipHeader mas_makeConstraints:^(MASConstraintMaker *make) {
  84. make.top.mas_equalTo(0);
  85. make.left.right.mas_equalTo(0);
  86. make.height.mas_equalTo(49);
  87. }];
  88. [_customView mas_makeConstraints:^(MASConstraintMaker *make) {
  89. make.bottom.mas_equalTo(0);
  90. make.left.right.mas_equalTo(0);
  91. make.height.mas_equalTo(209+SafeHeight+49);
  92. }];
  93. [self.view layoutIfNeeded];
  94. [LCTools clipCorner:UIRectCornerTopLeft|UIRectCornerTopRight View:_customView size:CGSizeMake(16, 16)];
  95. }
  96. - (void)cancelBtnClick{
  97. [self dismissViewControllerAnimated:true completion:nil];
  98. }
  99. - (void)confirmBtnClick{
  100. if (_didFinishSelectBlock){
  101. _didFinishSelectBlock([self.dataSouce objectAtIndex:_selectIndex]);
  102. }
  103. [self dismissViewControllerAnimated:true completion:nil];
  104. }
  105. - (NSInteger)numberOfComponentsInPickerView:(PGPickerView *)pickerView{
  106. return 1;
  107. }
  108. - (NSInteger)pickerView:(PGPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
  109. return self.dataSouce.count;
  110. }
  111. - (NSString *)pickerView:(PGPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
  112. return [self.dataSouce objectAtIndex:row];
  113. }
  114. - (void)pickerView:(PGPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
  115. NSInteger select = MIN(row,_dataSouce.count-1);
  116. self.selectIndex = select;
  117. }
  118. @end