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.
127 lines
5.5 KiB
127 lines
5.5 KiB
1 year ago
|
//
|
||
|
// WCUpVersionView.m
|
||
|
// neutralWatch
|
||
|
//
|
||
|
// Created by WeiChaoZheng on 2018/1/25.
|
||
|
// Copyright © 2018年 xTT. All rights reserved.
|
||
|
//
|
||
|
|
||
|
#import "WCUpVersionView.h"
|
||
|
|
||
|
@interface WCUpVersionView ()
|
||
|
@property (nonatomic,strong) UIButton * closeButton;
|
||
|
@property (nonatomic,strong) UIButton * upVersionButton;
|
||
|
@end
|
||
|
|
||
|
@implementation WCUpVersionView
|
||
|
|
||
|
-(instancetype)initWithNewUpversionAlertViewWithSetVersion:(NSString *)version Content:(NSString *)content{
|
||
|
self = [[WCUpVersionView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight)];
|
||
|
if (self) {
|
||
|
UIWindow *window = [UIApplication sharedApplication].keyWindow;
|
||
|
if(window){
|
||
|
UIView *view = [[UIView alloc] initWithFrame:self.frame];
|
||
|
view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.6];
|
||
|
[window addSubview:view];
|
||
|
[view addSubview: self];
|
||
|
|
||
|
CGFloat viewW = 250* ScreenWidth/375;
|
||
|
if(viewW < 250){
|
||
|
viewW = 250;
|
||
|
}
|
||
|
CGFloat viewH = 300* ScreenHeight/667;
|
||
|
if(viewH < 300){
|
||
|
viewH = 300;
|
||
|
}
|
||
|
|
||
|
UIView * contentView = [[UIView alloc] initWithFrame:CGRectMake((ScreenWidth-viewW)/2, (ScreenHeight-viewH)/2, viewW, viewH)];
|
||
|
[self addSubview:contentView];
|
||
|
contentView.backgroundColor = [UIColor whiteColor];
|
||
|
contentView.layer.cornerRadius = 5;
|
||
|
contentView.layer.masksToBounds = YES;
|
||
|
//
|
||
|
//背景图片
|
||
|
UIImageView *backImage = [[UIImageView alloc] initWithFrame:CGRectMake(contentView.frame.origin.x, contentView.frame.origin.y-25, viewW, 106+23)];
|
||
|
[self addSubview:backImage];
|
||
|
[backImage setImage:[UIImage imageNamed:@"img_updated"]];
|
||
|
//标题文字框
|
||
|
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 106+10, viewW, 21)];
|
||
|
[contentView addSubview: titleLabel];
|
||
|
titleLabel.textAlignment = 1;
|
||
|
titleLabel.font = [UIFont systemFontOfSize:17];
|
||
|
titleLabel.text = [NSString stringWithFormat:@"版本更新V%@",version];
|
||
|
|
||
|
//更新按钮的 高度
|
||
|
CGFloat btnHeight = 36;
|
||
|
//文字框
|
||
|
UILabel *contentLabel = [[UILabel alloc] initWithFrame:CGRectMake(35, 106+10+21+8, viewW-70, (viewH - btnHeight - 15 - 8)-(106+10+21+8))];
|
||
|
[contentView addSubview:contentLabel];
|
||
|
contentLabel.textColor = [UIColor lightGrayColor];
|
||
|
contentLabel.font = [UIFont systemFontOfSize:15];
|
||
|
contentLabel.text = content;
|
||
|
contentLabel.numberOfLines = 0;
|
||
|
|
||
|
//按钮
|
||
|
_upVersionButton = [UIButton buttonWithType:UIButtonTypeSystem];
|
||
|
[contentView addSubview:_upVersionButton];
|
||
|
|
||
|
_upVersionButton.frame = CGRectMake((viewW-120)/2, viewH - btnHeight - 15, 120, btnHeight);
|
||
|
_upVersionButton.titleLabel.font = [UIFont systemFontOfSize:15];
|
||
|
_upVersionButton.backgroundColor = mainColor;
|
||
|
_upVersionButton.layer.cornerRadius = btnHeight/2.0;
|
||
|
_upVersionButton.layer.masksToBounds = YES;
|
||
|
[_upVersionButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||
|
[_upVersionButton setTitle:@"立即更新" forState:UIControlStateNormal];
|
||
|
[_upVersionButton addTarget:self action:@selector(upVersionAction) forControlEvents:UIControlEventTouchUpInside];
|
||
|
|
||
|
//close 按钮 添加在 view 上面
|
||
|
_closeButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||
|
CGFloat closeButtonWH = 30;
|
||
|
[self addSubview:_closeButton];
|
||
|
_closeButton.frame = CGRectMake(ScreenWidth-contentView.frame.origin.x-closeButtonWH, contentView.frame.origin.y-20-closeButtonWH, closeButtonWH, closeButtonWH);
|
||
|
[_closeButton setImage:[UIImage imageNamed:@"icon_cancel"] forState:UIControlStateNormal];
|
||
|
[_closeButton addTarget:self action:@selector(closeWindow) forControlEvents:UIControlEventTouchUpInside];
|
||
|
[self addSubview:_closeButton];
|
||
|
//添加个弹性动画
|
||
|
|
||
|
[UIView animateWithDuration:1 delay:0 usingSpringWithDamping:0.3 initialSpringVelocity:0.3 options:UIViewAnimationOptionLayoutSubviews animations:^{
|
||
|
self.transform = CGAffineTransformIdentity;
|
||
|
} completion:^(BOOL finished) {
|
||
|
|
||
|
}];
|
||
|
|
||
|
|
||
|
}
|
||
|
}
|
||
|
return self;
|
||
|
}
|
||
|
|
||
|
-(void)closeWindow{
|
||
|
|
||
|
if (self.isforceUpdate) {
|
||
|
//提示更新
|
||
|
LGAlertView *alertView = [[LGAlertView alloc] initWithTitle:@"注意" message:@"取消更新将会退出应用,确认取消更新吗?" style:LGAlertViewStyleAlert buttonTitles:@[@"取消"] cancelButtonTitle:@"确定" destructiveButtonTitle:nil actionHandler:^(LGAlertView *alertView, NSString *title, NSUInteger index) {
|
||
|
|
||
|
} cancelHandler:^(LGAlertView *alertView){
|
||
|
exit(0);
|
||
|
} destructiveHandler:nil];
|
||
|
[alertView showAnimated:YES completionHandler:nil];
|
||
|
}else{
|
||
|
if(self){
|
||
|
[UIView animateWithDuration:0.2 animations:^{
|
||
|
self.transform = CGAffineTransformMakeScale(0.8, 0.8);
|
||
|
} completion:^(BOOL finished) {
|
||
|
[[self superview] removeFromSuperview];
|
||
|
}];
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
-(void)upVersionAction{
|
||
|
if(self.upVersionBlock){
|
||
|
self.upVersionBlock();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@end
|