|
@@ -0,0 +1,160 @@
|
|
|
+//
|
|
|
+// customRestartingBoxView.m
|
|
|
+// 双子星云手机
|
|
|
+//
|
|
|
+// Created by xd h on 2025/3/6.
|
|
|
+//
|
|
|
+
|
|
|
+#import "customRestartingBoxView.h"
|
|
|
+
|
|
|
+@interface customRestartingBoxView ()
|
|
|
+@property (nonatomic,strong)UIImageView *topImage;
|
|
|
+@end
|
|
|
+
|
|
|
+@implementation customRestartingBoxView
|
|
|
+
|
|
|
+- (id)initWithFrame:(CGRect)frame{
|
|
|
+ self = [super initWithFrame:frame];
|
|
|
+ self.backgroundColor = [UIColor hwColor:@"000000" alpha:0.6];
|
|
|
+ [self drawAnyView];
|
|
|
+
|
|
|
+ return self;
|
|
|
+}
|
|
|
+
|
|
|
+- (void)drawAnyView{
|
|
|
+ UIView*whiteBgView = [UIView new];
|
|
|
+ whiteBgView.layer.cornerRadius = 8;
|
|
|
+ whiteBgView.backgroundColor = [UIColor whiteColor];
|
|
|
+ [self addSubview:whiteBgView];
|
|
|
+
|
|
|
+ CGFloat curWhiteBgHeight = 300.f;
|
|
|
+
|
|
|
+ ///获取设备当前地区的代码和APP语言环境
|
|
|
+ NSString *languageCode = [NSLocale preferredLanguages][0];
|
|
|
+
|
|
|
+ //目前支持 中文(简体 繁体) 英文 日语
|
|
|
+ if([languageCode rangeOfString:@"zh-Hans"].location != NSNotFound)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ else if([languageCode rangeOfString:@"zh-Hant"].location != NSNotFound)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ curWhiteBgHeight = 500;
|
|
|
+ }
|
|
|
+
|
|
|
+ [whiteBgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.height.mas_equalTo(curWhiteBgHeight);
|
|
|
+ make.width.mas_equalTo(300.f);
|
|
|
+ make.centerY.mas_equalTo(-40.f);
|
|
|
+ make.centerX.mas_equalTo(0.f);
|
|
|
+ }];
|
|
|
+
|
|
|
+ _topImage = [[UIImageView alloc] init];
|
|
|
+ _topImage.image = [UIImage imageNamed:@"restart_loading"];
|
|
|
+ //_topImage.backgroundColor = [UIColor lightGrayColor];
|
|
|
+ [whiteBgView addSubview:_topImage];
|
|
|
+
|
|
|
+ [_topImage mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.height.mas_equalTo(65.f);
|
|
|
+ make.width.mas_equalTo(63.f);
|
|
|
+ make.centerX.mas_equalTo(0.f);
|
|
|
+ make.top.mas_equalTo(30.f);
|
|
|
+ }];
|
|
|
+
|
|
|
+ NSString *curTitleStr = NSLocalizedString(@"cloudPhone_restarting_box_title",nil);
|
|
|
+ UILabel *titleLab = [[UILabel alloc] init];
|
|
|
+ titleLab.text = curTitleStr;
|
|
|
+ titleLab.numberOfLines = 0;
|
|
|
+ titleLab.textColor = [UIColor hwColor:@"151515" alpha:1.0];
|
|
|
+ titleLab.font = [UIFont boldSystemFontOfSize:18.0];
|
|
|
+ titleLab.textAlignment = NSTextAlignmentCenter;
|
|
|
+ [whiteBgView addSubview:titleLab];
|
|
|
+
|
|
|
+ [titleLab mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ //make.height.mas_equalTo(60);
|
|
|
+ make.right.mas_equalTo(-20.f);
|
|
|
+ make.left.mas_equalTo(20.f);
|
|
|
+ make.top.equalTo(_topImage.mas_bottom).offset(20);
|
|
|
+ }];
|
|
|
+
|
|
|
+ NSString *tip1Str = NSLocalizedString(@"cloudPhone_restarting_box_msg",nil);
|
|
|
+
|
|
|
+
|
|
|
+ NSString*allTipStr = tip1Str;//[[NSString alloc] initWithFormat:@"%@%@%@",tip1Str,tip2Str,tip3Str];
|
|
|
+
|
|
|
+ UILabel *tipaLab = [[UILabel alloc] init];
|
|
|
+ tipaLab.text = allTipStr;
|
|
|
+ tipaLab.numberOfLines = 0;
|
|
|
+ tipaLab.textColor = [UIColor hwColor:@"#666666"];
|
|
|
+ tipaLab.font = [UIFont systemFontOfSize:14.0];
|
|
|
+ tipaLab.textAlignment = NSTextAlignmentCenter;
|
|
|
+ [whiteBgView addSubview:tipaLab];
|
|
|
+
|
|
|
+ [tipaLab mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ //make.height.mas_equalTo(60);
|
|
|
+ make.right.mas_equalTo(-20.f);
|
|
|
+ make.left.mas_equalTo(20.f);
|
|
|
+ make.top.equalTo(titleLab.mas_bottom).offset(20);
|
|
|
+ }];
|
|
|
+
|
|
|
+
|
|
|
+ UIButton *knowBut = [[UIButton alloc] init];
|
|
|
+ [knowBut setTitle:NSLocalizedString(@"common_I_know",nil) forState:UIControlStateNormal];
|
|
|
+ //knowBut.layer.cornerRadius = 8;
|
|
|
+ //knowBut.layer.masksToBounds = YES;
|
|
|
+ [knowBut setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
|
|
+ [knowBut addTarget:self action:@selector(colseFun) forControlEvents:UIControlEventTouchUpInside];
|
|
|
+ [whiteBgView addSubview:knowBut];
|
|
|
+
|
|
|
+ CAGradientLayer *gradientLayer = [CAGradientLayer layer];
|
|
|
+ gradientLayer.frame = CGRectMake(0, 0, 268, 40);
|
|
|
+ gradientLayer.colors = @[(__bridge NSString *)[UIColor hwColor:@"#0CDEFD" alpha:1.0].CGColor, (__bridge NSString *)[UIColor hwColor:@"#058DFB" alpha:1.0].CGColor];
|
|
|
+ gradientLayer.locations = @[@(0), @(1.0f)];
|
|
|
+ gradientLayer.startPoint = CGPointMake(0, 0.5);
|
|
|
+ gradientLayer.endPoint = CGPointMake(0.97, 0.5);
|
|
|
+ gradientLayer.cornerRadius = 8;
|
|
|
+ [knowBut.layer addSublayer:gradientLayer];
|
|
|
+
|
|
|
+// knowBut.layer.shadowColor = [UIColor hwColor:@"#058DFB"].CGColor;
|
|
|
+// // 设置阴影透明度(0.0到1.0)
|
|
|
+// knowBut.layer.shadowOpacity = 0.5;
|
|
|
+// // 设置阴影偏移量(x, y)
|
|
|
+// knowBut.layer.shadowOffset = CGSizeMake(0, 3);
|
|
|
+// // 设置阴影模糊半径
|
|
|
+// knowBut.layer.shadowRadius = 5.0;
|
|
|
+// // 为了使阴影在按钮外部可见,需要设置masksToBounds为NO
|
|
|
+// // 注意:如果父视图设置了masksToBounds为YES,那么阴影可能仍然不可见
|
|
|
+// knowBut.layer.masksToBounds = NO;
|
|
|
+
|
|
|
+ [knowBut mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.height.mas_equalTo(40.f);
|
|
|
+ make.width.mas_equalTo(268.f);
|
|
|
+ make.centerX.mas_equalTo(0.f);
|
|
|
+ make.bottom.mas_equalTo(-30);
|
|
|
+ }];
|
|
|
+
|
|
|
+
|
|
|
+ [self startContinuousRotation];
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+- (void)colseFun
|
|
|
+{
|
|
|
+ [self stopContinuousRotation];
|
|
|
+ [self removeFromSuperview];
|
|
|
+}
|
|
|
+
|
|
|
+- (void)startContinuousRotation {
|
|
|
+ CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
|
|
|
+ rotationAnimation.toValue = [NSNumber numberWithFloat:M_PI * 2.0]; // 旋转360度
|
|
|
+ rotationAnimation.duration = 2.0; // 旋转一圈的时间
|
|
|
+ rotationAnimation.repeatCount = HUGE_VALF; // 无限重复
|
|
|
+ [_topImage.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
|
|
|
+}
|
|
|
+
|
|
|
+- (void)stopContinuousRotation {
|
|
|
+ [_topImage.layer removeAnimationForKey:@"rotationAnimation"];
|
|
|
+}
|
|
|
+@end
|
|
|
+
|