// // IFishWaterChangeView.m // Ifish // // Created by 罗艺 on 2018/8/24. // Copyright © 2018年 lianlian. All rights reserved. // #import "IFishWaterChangeView.h" @interface IFishWaterChangeView() @property(nonatomic,strong)NSMutableArray*data1; @property(nonatomic,strong)NSMutableArray*data2; @property(nonatomic,strong)NSMutableArray*templetrueArr; @property(nonatomic,strong)NSMutableArray*dayArr; @property(nonatomic,strong)NSMutableArray*timeArr; @property(nonatomic,copy)NSString*selectVaule1; @property(nonatomic,copy)NSString*selectVaule2; @property(nonatomic,copy)NSString*selectVaule3; @property(nonatomic,copy)NSString*warnCode; //@property (weak, nonatomic) IBOutlet UIButton *bgButton; //@property (weak, nonatomic) IBOutlet UIPickerView *topUiPick; //@property (weak, nonatomic) IBOutlet UIPickerView *bottomUiPicker; //@property (weak, nonatomic) IBOutlet UIImageView *titleImageView; //@property (weak, nonatomic) IBOutlet UILabel *titleLabel; //@property (weak, nonatomic) IBOutlet UIButton *openBtn;//开关 //@property (weak, nonatomic) IBOutlet UIButton *sureBtn; //@property (weak, nonatomic) IBOutlet UIImageView *sepImage; Strong UIButton *bgButton; Strong UIPickerView *topUiPick; Strong UIPickerView *bottomUiPicker; Strong UIImageView *titleImageView; Strong UILabel *titleLabel; Strong UIButton *openBtn;//开关 Strong UIButton *sureBtn; Strong UIImageView *sepImage; @end @implementation IFishWaterChangeView -(instancetype)init{ self = [super init]; if (self) { [self addSubview:self.bgButton]; [self addSubview:self.topUiPick]; [self addSubview:self.bottomUiPicker]; [self addSubview:self.sepImage]; [self addSubview:self.titleImageView]; [self.titleImageView addSubview:self.titleLabel]; [self addSubview:self.openBtn]; [self addSubview:self.sureBtn]; [self loadLayout]; } return self; } #pragma mark --lazyLoading - (UIButton *)bgButton{ if (!_bgButton) { _bgButton = InitObject(UIButton); [_bgButton addTarget:self action:@selector(bgButtonClick:) forControlEvents:UIControlEventTouchUpInside]; [_bgButton setBackgroundColor:RGBA(0, 0, 0, 0.3)]; } return _bgButton; } - (UIPickerView *)topUiPick{ if (!_topUiPick) { _topUiPick = [[UIPickerView alloc]init]; _topUiPick.delegate = self; _topUiPick.backgroundColor = [UIColor whiteColor]; } return _topUiPick; } - (UIPickerView *)bottomUiPicker{ if (!_bottomUiPicker) { _bottomUiPicker = InitObject(UIPickerView); _bottomUiPicker.delegate = self; _bottomUiPicker.backgroundColor = [UIColor whiteColor]; } return _bottomUiPicker; } - (UIImageView *)sepImage{ if (!_sepImage) { _sepImage = InitObject(UIImageView); [_sepImage setImage:IMAGEBYENAME(@"虚线")]; } return _sepImage; } - (UIButton *)openBtn{ if (!_openBtn) { _openBtn = InitObject(UIButton); [_openBtn setBackgroundImage:IMAGEBYENAME(@"graybtn_big") forState:UIControlStateNormal]; [_openBtn setBackgroundImage:IMAGEBYENAME(@"greenbtn_big") forState:UIControlStateSelected]; [_openBtn addTarget:self action:@selector(openBtnClick:) forControlEvents:UIControlEventTouchUpInside]; } return _openBtn; } - (UIImageView *)titleImageView{ if (!_titleImageView) { _titleImageView = InitObject(UIImageView); [_titleImageView setImage:IMAGEBYENAME(@"change_tep_title")]; } return _titleImageView; } - (UIButton *)sureBtn{ if (!_sureBtn) { _sureBtn = InitObject(UIButton); [_sureBtn setBackgroundImage:IMAGEBYENAME(@"change_tep_bottom") forState:UIControlStateNormal]; [_sureBtn.titleLabel setFont:[UIFont systemFontOfSize:13]]; [_sureBtn setTitleColor:XWhite forState:UIControlStateNormal]; [_sureBtn setTitle:@"确 定" forState:UIControlStateNormal]; [_sureBtn addTarget:self action:@selector(sureBtnClick:) forControlEvents:UIControlEventTouchUpInside]; } return _sureBtn; } - (UILabel *)titleLabel{ if (!_titleLabel) { _titleLabel = InitObject(UILabel); _titleLabel.textColor = XWhite; _titleLabel.font = [UIFont systemFontOfSize:13]; _titleLabel.text = @"设置水温"; } return _titleLabel; } //masonry -(void)loadLayout{ [self.bgButton mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.mas_equalTo(self); }]; [self.topUiPick mas_makeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(kSizeFrom750(690)); make.height.mas_equalTo(kSizeFrom750(280)); make.centerY.centerX.mas_equalTo(self); }]; [self.titleImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.width.mas_equalTo(self.topUiPick); make.bottom.mas_equalTo(self.topUiPick.mas_top); make.height.mas_equalTo(kSizeFrom750(60)); }]; [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.height.mas_equalTo(self.titleImageView); make.left.mas_equalTo(kSizeFrom750(30)); }]; [self.openBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(kSizeFrom750(86)); make.height.mas_equalTo(kSizeFrom750(50)); make.right.mas_equalTo(self.titleImageView.mas_right).offset(-kSizeFrom750(40)); make.centerY.mas_equalTo(self.titleImageView); }]; [self.bottomUiPicker mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.width.height.centerX.mas_equalTo(self.topUiPick); }]; [self.sepImage mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.centerY.mas_equalTo(self.bottomUiPicker); make.width.mas_equalTo(kSizeFrom750(24)); make.height.mas_equalTo(kSizeFrom750(264)); }]; [self.sureBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.left.width.height.mas_equalTo(self.titleImageView); make.top.mas_equalTo(self.bottomUiPicker.mas_bottom); }]; } -(NSMutableArray *)data1{ if (!_data1) { _data1=InitObject(NSMutableArray); } return _data1; } -(NSMutableArray *)data2{ if (!_data2) { _data2=InitObject(NSMutableArray); } return _data2; } -(NSMutableArray *)timeArr{ if (_timeArr==nil) { _timeArr=[NSMutableArray array]; for (int i=1; i<25; i++) { NSString*day=[NSString stringWithFormat:@"%d:00",i]; [_timeArr addObject:day]; } } return _timeArr; } -(NSMutableArray*)dayArr{ if (_dayArr==nil) { _dayArr=[NSMutableArray array]; for (int i=1; i<31; i++) { NSString*day=[NSString stringWithFormat:@"%d天",i]; [_dayArr addObject:day]; } } return _dayArr; } -(NSMutableArray*)templetrueArr{ if (_templetrueArr==nil) { _templetrueArr=[NSMutableArray array]; for (int i=20; i<36; i++) { NSString*temp=[NSString stringWithFormat:@"%d°c",i]; [_templetrueArr addObject:temp]; } } return _templetrueArr; } -(void)setViewType:(NSInteger)viewType{ _viewType=viewType; self.topUiPick.hidden=YES; self.bottomUiPicker.hidden=YES; self.sepImage.hidden = YES; self.openBtn.hidden = YES; [self.data1 removeAllObjects]; [self.data2 removeAllObjects]; self.titleLabel.text=@"请设置加热温度:"; if (viewType==0) {// 设置水温 self.topUiPick.hidden=NO; [self.data1 addObjectsFromArray:self.templetrueArr]; [self.data2 addObjectsFromArray:self.templetrueArr]; [self.topUiPick reloadAllComponents]; if ( self.hotVo.heaterNum) { self.hotVo.heaterNum=[self.hotVo.heaterNum stringByReplacingOccurrencesOfString:@"°c" withString:@""]; NSInteger heaterNum=round([self.hotVo.heaterNum integerValue]-20) ; [self.topUiPick selectRow:heaterNum inComponent:0 animated:NO]; self.selectVaule1=self.hotVo.heaterNum; } }else if(viewType==1){//设置预警温度 [self.data1 addObjectsFromArray:self.templetrueArr]; [self.data2 addObjectsFromArray:self.templetrueArr]; self.bottomUiPicker.hidden=NO; self.sepImage.hidden = NO; self.openBtn.hidden = NO; self.titleLabel.text=@"请设置预警温度:"; [self.bottomUiPicker reloadAllComponents]; if ([self.hotVo.wornCode isEqualToString:@"01"]) { self.openBtn.selected=YES; }else{ self.openBtn.selected=NO; } if (self.hotVo.downTeamp) { self.hotVo.downTeamp=[self.hotVo.downTeamp stringByReplacingOccurrencesOfString:@"°c" withString:@""]; NSInteger downTeamp=round([self.hotVo.downTeamp integerValue]-20); downTeamp=downTeamp<0?0:downTeamp; [self.bottomUiPicker selectRow:downTeamp inComponent:0 animated:NO]; self.selectVaule2=self.hotVo.downTeamp; } if (self.hotVo.upTeamp) { self.hotVo.upTeamp=[self.hotVo.upTeamp stringByReplacingOccurrencesOfString:@"°c" withString:@""]; NSInteger upTeamp=round([self.hotVo.upTeamp integerValue]-20) ; upTeamp=upTeamp>0?upTeamp:0; [self.bottomUiPicker selectRow:upTeamp inComponent:1 animated:NO]; self.selectVaule3=self.hotVo.upTeamp; } }else if (viewType==2){//流量 // self.bottomUiPicker.hidden=NO; }else if (viewType==4){//换水周期 self.bottomUiPicker.hidden=NO; self.openBtn.hidden = NO; self.sepImage.hidden = NO; [self.data1 addObjectsFromArray:self.dayArr]; [self.data2 addObjectsFromArray:self.timeArr]; [self.topUiPick reloadAllComponents]; [self.bottomUiPicker reloadAllComponents]; self.titleLabel.text=@"换水周期选择:"; self.selectVaule2=self.data1[0]; if (self.hotVo.heater.heaterCycle!=nil) { [self.bottomUiPicker selectRow:[self.hotVo.heater.heaterCycle integerValue]-1 inComponent:0 animated:NO]; self.selectVaule2=self.hotVo.heater.heaterCycle; }else{ self.selectVaule2=@"1"; } self.selectVaule3=self.data2[0]; if (self.hotVo.heater.heaterReminderTime.length&&self.hotVo.heater.heaterReminderTime!=nil) { self.openBtn.selected=YES; [self.bottomUiPicker selectRow:[self.hotVo.heater.heaterReminderTime integerValue]-5 inComponent:1 animated:NO]; self.selectVaule3=self.hotVo.heater.heaterReminderTime; }else{ self.openBtn.selected=NO; self.selectVaule3=@"5"; } } } //点击open按钮 - (void)openBtnClick:(UIButton *)sender { sender.selected=!sender.selected; if(self.viewType==1){//设置预警温度 self.hotVo.wornCode=sender.selected?@"01":@"00"; [self.myDelegate clickWormCode:self.hotVo.wornCode]; } } //点击背景按钮 - (void)bgButtonClick:(UIButton *)sender { self.hidden=YES; } //点击确定按钮 - (void)sureBtnClick:(UIButton *)sender{ self.hidden=YES; // if(_viewType==5){ // [self.myDelegate didSelectRow1:self.selectVaule2 andRow2:self.selectVaule3]; // }else if (_viewType==0) {//设置加热温度 [self.myDelegate didChangeTemperature:self.selectVaule1]; } if (_viewType==1){//设置预警温度 NSString*code=self.openBtn.selected?@"01":@"00"; [self.myDelegate didSelectTeamptrue:self.selectVaule3 andDown:self.selectVaule2 andWarnCode:code]; }else if(_viewType==4){//设置换水周期 if(self.openBtn.selected==NO){ [self.myDelegate didSelectRow1:self.selectVaule2 andRow2:@""]; }else{ [self.myDelegate didSelectRow1:self.selectVaule2 andRow2:self.selectVaule3]; } } } //返回多少列 -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ if (pickerView==self.topUiPick) { return 1; } return 2; } //返回多少行 - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ if (pickerView==self.topUiPick) { return self.data1.count; }else{ if(component==0){ return self.data1.count; } return self.data2.count; } } //每一行的数据 -(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ if (pickerView==self.topUiPick) { return self.data1[row]; }else{ if(component==0){ return self.data1[row]; } return self.data2[row]; } } //选中时的效果 -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ if (pickerView==self.topUiPick) { self.selectVaule1=self.data1[row]; }else{ if (component==0) { self.selectVaule2=self.data1[row]; }else{ self.selectVaule3=self.data2[row]; } } } //返回高度 -(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{ return kSizeFrom750(50); } @end