382 lines
13 KiB
Objective-C
382 lines
13 KiB
Objective-C
//
|
|
// IFishWaterChangeView.m
|
|
// Ifish
|
|
//
|
|
// Created by 罗艺 on 2018/8/24.
|
|
// Copyright © 2018年 lianlian. All rights reserved.
|
|
//
|
|
|
|
#import "IFishWaterChangeView.h"
|
|
|
|
@interface IFishWaterChangeView()<UIPickerViewDelegate,UIPickerViewDataSource>
|
|
|
|
@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=5; 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<41; 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{
|
|
return self.data1.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
|