123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- //
- // SKMainViewController+watch.m
- // Overseas Watch
- //
- // Created by 刘振兴 on 2024/1/8.
- // Copyright © 2024 BaH Cy. All rights reserved.
- //
- #import "SKMainViewController+watch.h"
- @implementation SKMainViewController (watch)
- - (void)initStep {
- [self.mSteps setText:NSLocalizedString(@"Main.Step", nil)];
- }
- - (void)refreshStep {
- NSInteger count = [DataManager shared].mSelectChildModel.stepCount;
- NSString* s = count > 0 ? [NSString stringWithFormat:@"%ld", count] : @"-";
- [self.mStepsCount setText:s];
- }
- - (void)initWeather {
- [EUtil setViewShadow:self.mWeatherWhiteView color:[UIColor colorWithRed:0/255.0f green:1/255.0f blue:75/255.0f alpha:0.2] offset:CGSizeMake(0, 2) opacity:1 radius:3];
- UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];
- effectView.frame = self.mWeatherWhiteView.frame;
- [effectView.layer setMasksToBounds:YES];
- [effectView.layer setCornerRadius:4.0]; //设置矩形四个圆角半径
- [self.mWeatherWhiteView addSubview:effectView];
- [EUtil setViewShadow:self.mWeatherChangeWhiteView color:[UIColor colorWithRed:0/255.0f green:1/255.0f blue:75/255.0f alpha:0.2] offset:CGSizeMake(0, 2) opacity:1 radius:3];
- UIVisualEffectView *effectView2 = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];
- effectView2.frame = self.mWeatherChangeWhiteView.frame;
- [effectView2.layer setMasksToBounds:YES];
- [effectView2.layer setCornerRadius:4.0]; //设置矩形四个圆角半径
- [self.mWeatherChangeWhiteView addSubview:effectView2];
- }
- - (void)initWatchInfo {
- [self.mWatchInfoView.layer setMasksToBounds:NO];
- [self.mWatchInfoView.layer setCornerRadius:4.0]; //设置矩形四个圆角半径
-
- [EUtil setViewShadow:self.mWatchInfoView color:[UIColor colorWithRed:0/255.0f green:1/255.0f blue:75/255.0f alpha:0.2] offset:CGSizeMake(0, 2) opacity:1 radius:3];
-
- [self.mWatchInfoEffectView.layer setMasksToBounds:YES];
- [self.mWatchInfoEffectView.layer setCornerRadius:4.0]; //设置矩形四个圆角半径
- self.mWatchInfoEffectView.effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
- }
- - (void)refreshWeather {
- BaseWeatherModel* model = [DataManager shared].mSelectChildModel.weather;
- if (!model || model.textCode.length <= 0) {
- [self.mWeatherView setHidden:YES];
- return;
- }
-
- //有天气数据
- [self.mWeatherView setHidden:NO];
-
- //空气质量
- NSInteger _airDegrees = model.air;
- NSInteger _airState = 0;
- if (_airDegrees <= 50)
- _airState = 1;
- else if (_airDegrees > 50 && _airDegrees <= 100)
- _airState = 2;
- else if (_airDegrees > 100 && _airDegrees <= 150)
- _airState = 3;
- else if (_airDegrees > 150 && _airDegrees <= 200)
- _airState = 4;
- else if (_airDegrees > 200 && _airDegrees <= 300)
- _airState = 5;
- else
- _airState = 6;
-
-
- NSInteger type = [model.textCode integerValue];
- NSString* imageName = [NSString stringWithFormat:@"%@%ld", @"weather_type_", type];
- [self.mWeatherState setImage:[UIImage imageNamed:imageName]];
-
- //0:代表摄氏 1代表华氏
- NSInteger temperature = model.now;
- NSNumber* weatherType = [EUtil getUserDefaults:@"KEY_TYPE_WEATHER"];
- if ([weatherType intValue] == 1){
- temperature = temperature*9/5 + 32;
- }
- if (type <= 0) {
- [self.mWeatherDegrees setText:@"N/A"];
- } else {
- [self.mWeatherDegrees setText:[NSString stringWithFormat:@"%ld", (long)temperature]];
- }
-
- UIColor* normal = [UIColor colorWithRed:0/255.0f green:1/255.0f blue:0/255.0f alpha:0.4];
- UIColor* high = [UIColor colorWithRed:0/255.0f green:0/255.0f blue:0/255.0f alpha:1];
- [self.mWeatherChangeDegreesC setTextColor:[weatherType intValue] == 0? high:normal];
- [self.mWeatherChangeDegreesF setTextColor:[weatherType intValue] == 1? high:normal];
-
- [self.mAirState setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@%ld", @"weather_aqi_", (long)_airState]]];
- [self.mAirDegrees setText:[NSString stringWithFormat:@"%@%ld", NSLocalizedString(@"Main.Weather.Air", nil), (long)_airDegrees]];
- }
- - (void)refreshSignals {
- NSString* imageName = @"";
- DeviceModel* model = [[DataManager shared] getSelectDevice];
- if (model.startup == 0 || model.battery <= 0) {
- imageName = [NSString stringWithFormat:@"ic_signal_%d", 0];
- } else {
- if (model.signalMax >= 5) {
- imageName = [NSString stringWithFormat:@"ic_signal_%ld", model.signal];
- } else {
- imageName = [NSString stringWithFormat:@"ic_signal_%ld", model.signal];
- }
- }
- [self.mSignalsImage setImage:[UIImage imageNamed:imageName]];
- }
- - (void)refreshSignalsEx {
- NSString* imageName = @"";
- DeviceModel* model = [[DataManager shared] getSelectDevice];
- if (model.signal < -197 || model.battery <= 0 || model.startup == 0) {
- imageName = @"ic_signal_0";
- } else if ( model.signal > - 197 && model.signal < -103) {
- imageName = @"ic_signal_1";
- } else if(model.signal >= -103 && model.signal < -97){
- imageName = @"ic_signal_2";
- } else if(model.signal >= -97 && model.signal < -89){
- imageName = @"ic_signal_3";
- } else if(model.signal >= -89){
- imageName = @"ic_signal_4";
- }
- [self.mSignalsImage setImage:[UIImage imageNamed:imageName]];
- }
- - (void)refreshBattery {
- DeviceModel* model = [[DataManager shared] getSelectDevice];
- NSInteger battery = model.battery;
-
- CGSize percentageSize = self.mBatteryImage.frame.size;
- UIImage *image;
- if(battery <= 0 || model.startup == 0) {
- image = [EUtil imageWithColorPercent:[UIColor clearColor] colorPercent:0 andSize:percentageSize];
- } else if(battery <= 25) {
- UIColor *color = [UIColor colorWithRed:253/255.0 green:26/255.0 blue:119/255.0 alpha:1.0f];
- image = [EUtil imageWithColorPercent:color colorPercent:battery/100.0 andSize:percentageSize];
- } else {
- if(battery > 100)
- battery = 100;
- UIColor *color = [UIColor colorWithRed:44/255.0 green:221/255.0 blue:103/255.0 alpha:1.0f];
- image = [EUtil imageWithColorPercent:color colorPercent:battery/100.0 andSize:percentageSize];
- }
- [self.mBatteryImage setImage:image];
- }
- - (IBAction)onWeatherChangeAction:(id)sender {
- NSNumber* number = [EUtil getUserDefaults:@"KEY_TYPE_WEATHER"];
- if (number) {
- //0:代表摄氏 1代表华氏
- [EUtil setUserDefaults:@"KEY_TYPE_WEATHER" number:[number intValue] == 0 ? @(1):@(0)];
- }
- [self refreshWeather];
- }
- @end
|