You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
238 lines
9.1 KiB
238 lines
9.1 KiB
// |
|
// LocationModeViewController.m |
|
// watch |
|
// |
|
// Created by xTT on 2017/7/17. |
|
// Copyright © 2017年 xTT. All rights reserved. |
|
// |
|
|
|
#import "LocationModeViewController.h" |
|
|
|
@interface LocationModeViewController () |
|
|
|
@property (nonatomic ,strong) NSArray *timeArr; |
|
|
|
@property (nonatomic ,strong) NSMutableArray *btnArr; |
|
|
|
@property (nonatomic ,strong) UIView *headerView; |
|
|
|
@property (nonatomic ,weak) UISwitch *customSwitch; |
|
|
|
@property (nonatomic ,weak) UIView *bgView; |
|
|
|
@end |
|
|
|
@implementation LocationModeViewController |
|
|
|
@synthesize myDataSource = _myDataSource; |
|
|
|
- (NSMutableArray *)myDataSource{ |
|
if (!_myDataSource) { |
|
//_myDataSource = [[NSMutableArray alloc] initWithArray:@[@[@"省电模式",@"正常模式",@"高频模式"]]]; |
|
// MARK: 从后台获取值显示 update by lsz 2021-06-23 |
|
_myDataSource = [[NSMutableArray alloc] initWithArray:@[cUser.cDevice.location_model1,cUser.cDevice.location_model2,cUser.cDevice.location_model3]]; |
|
} |
|
return _myDataSource; |
|
} |
|
|
|
- (NSNumber *)locationMode{ |
|
if (!_locationMode) { |
|
if ([cUser.cDevice.opLocationMode intValue] < 3) |
|
{ |
|
_locationMode = cUser.cDevice.location_interval2; |
|
} else { |
|
_locationMode = cUser.cDevice.opLocationMode; |
|
} |
|
} |
|
return _locationMode; |
|
} |
|
|
|
- (void)viewDidLoad { |
|
[super viewDidLoad]; |
|
self.zx_navTitle = @"设置"; |
|
|
|
self.timeArr = @[cUser.cDevice.location_interval1, cUser.cDevice.location_interval2, cUser.cDevice.location_interval3]; |
|
|
|
[self.view addSubview:self.headerView]; |
|
NSLog(@"%@",self.locationMode); |
|
|
|
UIView *bgView = [UICommon ui_view:CGRectMake(15, self.headerView.bottom+12, ScreenWidth-30, 318) backgroundColor:KKWhiteColorColor cornerRadius:12 borderWidth:0 borderColor:KKWhiteColorColor]; |
|
bgView.hidden = !cUser.cDevice.opGpsSwitch.boolValue; |
|
self.bgView = bgView; |
|
[self.view addSubview:bgView]; |
|
UILabel *titleLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentCenter font:FontBold_(16) textColor:KKBlack20 text:@"定位模式" Radius:0]; |
|
[bgView addSubview:titleLabel]; |
|
[titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.left.top.equalTo(bgView).offset(15); |
|
}]; |
|
UIImage *img = ImageName_(@"map_select_yes_icon"); |
|
self.btnArr = [NSMutableArray new]; |
|
NSMutableArray *imgArr = [NSMutableArray new]; |
|
for (int i = 0; i < self.timeArr.count; i++) |
|
{ |
|
NSString *title = [NSString stringWithFormat:@"%@\n每%@分钟定位一次",self.myDataSource[i],self.timeArr[i]]; |
|
UIButton *button = [UICommon ui_buttonSimple:CGRectZero font:Font_(14) normalColor:KKGrey163 normalText:@"" click:^(UIButton *btn) { |
|
|
|
for (UIButton *butt in self.btnArr) |
|
{ |
|
butt.backgroundColor = butt.tag == btn.tag ? RGBA(255, 94, 16, 0.08) : KKClearColor; |
|
butt.layer.borderColor = butt.tag == btn.tag ? mainColor.CGColor : RGB(240, 239, 237).CGColor; |
|
if (butt.tag == btn.tag) |
|
{ |
|
self.locationMode = self.timeArr[btn.tag]; |
|
[self rightBarItemClick]; |
|
} |
|
} |
|
for (UIImageView *image in imgArr) |
|
{ |
|
image.hidden = image.tag == btn.tag ? NO : YES; |
|
} |
|
|
|
}]; |
|
button.backgroundColor = self.locationMode.integerValue == [self.timeArr[i] integerValue] ? RGBA(255, 94, 16, 0.08) : KKClearColor; |
|
[button setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft]; |
|
[button setAttributedTitle:[self labelFontSize:title :self.myDataSource[i]] forState:0]; |
|
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 15, 0, 0)]; |
|
button.layer.borderWidth = 1; |
|
button.layer.borderColor = self.locationMode.integerValue == [self.timeArr[i] integerValue] ? mainColor.CGColor : RGB(240, 239, 237).CGColor; |
|
button.layer.cornerRadius = 12; |
|
button.layer.masksToBounds = YES; |
|
button.titleLabel.numberOfLines = 0; |
|
button.tag = i; |
|
[bgView addSubview:button]; |
|
[button mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.left.right.equalTo(bgView).inset(15); |
|
make.top.equalTo(titleLabel.mas_bottom).offset(12+i*74+i*12); |
|
make.height.mas_equalTo(74); |
|
}]; |
|
[self.btnArr addObject:button]; |
|
|
|
UIImageView *rightImg = [UICommon ui_imageView:CGRectZero fileName:@"map_select_yes_icon"]; |
|
rightImg.tag = i; |
|
rightImg.hidden = self.locationMode.integerValue == [self.timeArr[i] integerValue] ? NO : YES; |
|
[bgView addSubview:rightImg]; |
|
[rightImg mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.right.equalTo(button.mas_right).inset(15); |
|
make.centerY.equalTo(button); |
|
make.size.mas_equalTo(rightImg.image.size); |
|
}]; |
|
[imgArr addObject:rightImg]; |
|
} |
|
} |
|
|
|
|
|
- (void)rightBarItemClick |
|
{ |
|
WEAKSELF |
|
[cUser.cDevice editOperationDeviceInfoWithParameters:@{@"opLocationMode":self.locationMode} |
|
success:^(id responseObject) { |
|
cUser.cDevice.opLocationMode = weakSelf.locationMode; |
|
[[NSNotificationCenter defaultCenter] postNotificationName:@"UPDATADEVICE" object:nil]; |
|
} failure:^(id faiObject) { |
|
|
|
}]; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
- (UIView *)headerView |
|
{ |
|
if(!_headerView) |
|
{ |
|
_headerView = [UICommon ui_view:CGRectZero backgroundColor:KKWhiteColorColor cornerRadius:12 borderWidth:0 borderColor:KKWhiteColorColor]; |
|
_headerView.frame = CGRectMake(15, iPhoneX_NavHeight+15, ScreenWidth-30, 80); |
|
|
|
|
|
UILabel *titleLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentCenter font:FontBold_(16) textColor:KKBlack20 text:@"历史轨迹开关" Radius:0]; |
|
[_headerView addSubview:titleLabel]; |
|
[titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.left.equalTo(_headerView).offset(15); |
|
make.bottom.equalTo(_headerView.mas_centerY).inset(5); |
|
}]; |
|
|
|
UILabel *textsLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentCenter font:Font_(12) textColor:KKGrey153 text:@"关闭后将无法查看孩子的历史轨迹" Radius:0]; |
|
[_headerView addSubview:textsLabel]; |
|
[textsLabel mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.left.equalTo(titleLabel.mas_left); |
|
make.top.equalTo(_headerView.mas_centerY).offset(5); |
|
}]; |
|
|
|
UISwitch *customSwitch = [[UISwitch alloc] init]; |
|
[customSwitch setOnTintColor:mainColor]; |
|
[customSwitch addTarget:self action:@selector(switchChange:) forControlEvents:UIControlEventValueChanged]; |
|
[customSwitch setOn:cUser.cDevice.opGpsSwitch.boolValue]; |
|
self.customSwitch = customSwitch; |
|
[_headerView addSubview:customSwitch]; |
|
[customSwitch mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.right.equalTo(_headerView.mas_right).inset(15); |
|
make.centerY.equalTo(_headerView); |
|
make.size.mas_equalTo(CGSizeMake(Adapted(45), 30)); |
|
}]; |
|
|
|
} |
|
return _headerView; |
|
} |
|
|
|
|
|
/** |
|
* 按钮切换事件监听回调方法 |
|
*/ |
|
- (void) switchChange:(UISwitch*)sw |
|
{ |
|
if(sw.on == YES) { |
|
NSLog(@"开关切换为开"); |
|
} else if(sw.on == NO) { |
|
NSLog(@"开关切换为关"); |
|
} |
|
|
|
[cUser setSwitchDataState:sw.on success:^(id responseObject) { |
|
//[UICommon MessageSuccessText:@"开启成功"]; |
|
cUser.cDevice.opGpsSwitch = [NSNumber numberWithBool:sw.on]; |
|
[[NSNotificationCenter defaultCenter] postNotificationName:@"UPDATADEVICE" object:nil]; |
|
self.bgView.hidden = !cUser.cDevice.opGpsSwitch.boolValue; |
|
} failure:^{ |
|
[self.customSwitch setOn:cUser.cDevice.opGpsSwitch]; |
|
}]; |
|
} |
|
|
|
|
|
|
|
/// 指定字符大小 |
|
/// @param text 内容 |
|
- (NSAttributedString *)labelFontSize:(NSString *)text :(NSString *)toText |
|
{ |
|
NSRange symbolRange = [text rangeOfString:toText]; |
|
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:text]; |
|
|
|
if (symbolRange.location != NSNotFound) |
|
{ |
|
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; |
|
paragraphStyle.lineSpacing = 8; |
|
paragraphStyle.alignment = NSTextAlignmentLeft; |
|
[string addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, string.length)]; |
|
[string addAttribute:NSForegroundColorAttributeName value:KKBlack20 range:NSMakeRange(symbolRange.location, symbolRange.length)]; |
|
[string addAttribute:NSFontAttributeName value:FontBold_(16) range:NSMakeRange(symbolRange.location, symbolRange.length)]; |
|
} |
|
|
|
return string; |
|
} |
|
|
|
|
|
- (void)didReceiveMemoryWarning { |
|
[super didReceiveMemoryWarning]; |
|
// Dispose of any resources that can be recreated. |
|
} |
|
|
|
/* |
|
#pragma mark - Navigation |
|
|
|
// In a storyboard-based application, you will often want to do a little preparation before navigation |
|
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { |
|
// Get the new view controller using [segue destinationViewController]. |
|
// Pass the selected object to the new view controller. |
|
} |
|
*/ |
|
|
|
@end
|
|
|