diff --git a/xplan-ios/Assets.xcassets/Version/version_update_bg.imageset/version_update_bg@2x.png b/xplan-ios/Assets.xcassets/Version/version_update_bg.imageset/version_update_bg@2x.png deleted file mode 100644 index 72e16a4f..00000000 Binary files a/xplan-ios/Assets.xcassets/Version/version_update_bg.imageset/version_update_bg@2x.png and /dev/null differ diff --git a/xplan-ios/Assets.xcassets/Version/version_update_bg.imageset/version_update_bg@3x.png b/xplan-ios/Assets.xcassets/Version/version_update_bg.imageset/version_update_bg@3x.png deleted file mode 100644 index d48efc3f..00000000 Binary files a/xplan-ios/Assets.xcassets/Version/version_update_bg.imageset/version_update_bg@3x.png and /dev/null differ diff --git a/xplan-ios/Assets.xcassets/Version/version_update_bg.imageset/Contents.json b/xplan-ios/Assets.xcassets/Version/version_update_top_bg.imageset/Contents.json similarity index 72% rename from xplan-ios/Assets.xcassets/Version/version_update_bg.imageset/Contents.json rename to xplan-ios/Assets.xcassets/Version/version_update_top_bg.imageset/Contents.json index a64359a3..44ed6269 100644 --- a/xplan-ios/Assets.xcassets/Version/version_update_bg.imageset/Contents.json +++ b/xplan-ios/Assets.xcassets/Version/version_update_top_bg.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "version_update_bg@2x.png", + "filename" : "version_update_top_bg@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "version_update_bg@3x.png", + "filename" : "version_update_top_bg@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/xplan-ios/Assets.xcassets/Version/version_update_top_bg.imageset/version_update_top_bg@2x.png b/xplan-ios/Assets.xcassets/Version/version_update_top_bg.imageset/version_update_top_bg@2x.png new file mode 100644 index 00000000..f2afd617 Binary files /dev/null and b/xplan-ios/Assets.xcassets/Version/version_update_top_bg.imageset/version_update_top_bg@2x.png differ diff --git a/xplan-ios/Assets.xcassets/Version/version_update_top_bg.imageset/version_update_top_bg@3x.png b/xplan-ios/Assets.xcassets/Version/version_update_top_bg.imageset/version_update_top_bg@3x.png new file mode 100644 index 00000000..4e25d9a6 Binary files /dev/null and b/xplan-ios/Assets.xcassets/Version/version_update_top_bg.imageset/version_update_top_bg@3x.png differ diff --git a/xplan-ios/Main/Tabbar/View/VersionUpdate/XPUpgradeView.m b/xplan-ios/Main/Tabbar/View/VersionUpdate/XPUpgradeView.m index eee4f17a..e8ab6520 100644 --- a/xplan-ios/Main/Tabbar/View/VersionUpdate/XPUpgradeView.m +++ b/xplan-ios/Main/Tabbar/View/VersionUpdate/XPUpgradeView.m @@ -15,12 +15,19 @@ #import "TTPopup.h" @interface XPUpgradeView() -@property (nonatomic,strong) UIImageView *bgImageView; +///容器 +@property (nonatomic,strong) UIView *contentView; +///顶部 +@property (nonatomic,strong) UIImageView *topImageView; +///背景 +@property (nonatomic,strong) UIView *backView; @property (nonatomic,strong) SZTextView *textView; ///容器 @property (nonatomic,strong) UIStackView *stackView; @property (nonatomic,strong) UIButton *updateBtn; @property (nonatomic,strong) UIButton *cancelBtn; +///版本号 +@property (nonatomic,strong) UILabel *versionLabel; @end @implementation XPUpgradeView @@ -36,37 +43,58 @@ #pragma mark - Private Method - (void)initSubViews { - [self addSubview:self.bgImageView]; + [self addSubview:self.contentView]; - [self.bgImageView addSubview:self.textView]; - [self.bgImageView addSubview:self.stackView]; + [self.contentView addSubview:self.topImageView]; + [self.contentView addSubview:self.backView]; + [self.topImageView addSubview:self.versionLabel]; + [self.backView addSubview:self.textView]; + [self.backView addSubview:self.stackView]; [self.stackView addArrangedSubview:self.cancelBtn]; [self.stackView addArrangedSubview:self.updateBtn]; } - (void)initSubViewConstraints { + CGFloat kwidth = (KScreenWidth - 100); [self mas_makeConstraints:^(MASConstraintMaker *make) { - make.size.mas_equalTo(CGSizeMake(250, 311)); + make.size.mas_equalTo(CGSizeMake(kwidth, 340)); }]; - [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { + [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self); }]; + CGFloat kscale = 140.0 / 275.0; + [self.topImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(kwidth, kwidth * kscale)); + make.top.mas_equalTo(self.contentView); + make.centerX.mas_equalTo(self.contentView); + }]; + + [self.backView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.mas_equalTo(self.contentView); + make.top.mas_equalTo(self.topImageView.mas_bottom); + }]; + + [self.versionLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.topImageView).offset(25); + make.top.mas_equalTo(self.topImageView).offset(90 * kScreenScale); + }]; + [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(32); - make.centerX.mas_equalTo(self.bgImageView); - make.bottom.mas_equalTo(self.bgImageView).offset(-20); + make.height.mas_equalTo(36); + make.centerX.mas_equalTo(self.contentView); + make.bottom.mas_equalTo(self.contentView).offset(-20); }]; [self.cancelBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.mas_equalTo(106); + make.width.mas_equalTo((kwidth - 11 - 16 * 2) / 2.0); }]; [self.updateBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.mas_equalTo(106); + make.width.mas_equalTo(self.cancelBtn); }]; [self.textView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(self.bgImageView.mas_top).mas_offset(136); + make.top.equalTo(self.topImageView.mas_bottom).mas_offset(3); make.left.mas_equalTo(17); make.right.mas_equalTo(-17); make.bottom.equalTo(self.stackView.mas_top).offset(-5); @@ -76,7 +104,15 @@ -(void)setVersionModel:(XPVersionUpdateModel *)versionModel{ _versionModel = versionModel; - _textView.text = _versionModel.updateVersionDesc; + if (_versionModel.updateVersionDesc) { + NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:_versionModel.updateVersionDesc attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12], NSForegroundColorAttributeName:[ThemeColor mainTextColor]}]; + NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; + paragraphStyle.lineSpacing = 5; + [attribute addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, _versionModel.updateVersionDesc.length)]; + _textView.attributedText = attribute; + } + + _versionLabel.text = [NSString stringWithFormat:@"V%@", _versionModel.updateVersion]; _cancelBtn.hidden = _versionModel.updateStatus == 3; } @@ -94,6 +130,24 @@ [TTPopup dismiss]; } #pragma mark - 懒加载 +- (UIView *)contentView { + if (!_contentView) { + _contentView = [[UIView alloc] init]; + _contentView.backgroundColor = [UIColor clearColor]; + _contentView.layer.cornerRadius = 12; + _contentView.layer.masksToBounds = YES; + } + return _contentView; +} + +- (UIView *)backView { + if (!_backView) { + _backView = [[UIView alloc] init]; + _backView.backgroundColor = [UIColor whiteColor]; + } + return _backView; +} + - (UIStackView *)stackView { if (!_stackView) { _stackView = [[UIStackView alloc] init]; @@ -105,14 +159,14 @@ return _stackView; } -- (UIImageView *)bgImageView{ - if (!_bgImageView){ - _bgImageView = [UIImageView new]; - _bgImageView.backgroundColor = [UIColor clearColor]; - _bgImageView.userInteractionEnabled = YES; - _bgImageView.image = [UIImage imageNamed:@"version_update_bg"]; +- (UIImageView *)topImageView{ + if (!_topImageView){ + _topImageView = [UIImageView new]; + _topImageView.backgroundColor = [UIColor clearColor]; + _topImageView.userInteractionEnabled = YES; + _topImageView.image = [UIImage imageNamed:@"version_update_top_bg"]; } - return _bgImageView; + return _topImageView; } - (SZTextView *)textView { @@ -126,6 +180,14 @@ return _textView; } +- (UILabel *)versionLabel { + if (!_versionLabel) { + _versionLabel = [[UILabel alloc] init]; + _versionLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium]; + _versionLabel.textColor = [UIColor whiteColor]; + } + return _versionLabel; +} -(UIButton *)updateBtn{ if (!_updateBtn){ @@ -135,7 +197,7 @@ _updateBtn.titleLabel.font = [UIFont systemFontOfSize:14]; _updateBtn.titleLabel.textColor = [ThemeColor confirmButtonTextColor]; [_updateBtn setBackgroundImage:image forState:UIControlStateNormal]; - _updateBtn.layer.cornerRadius = 32 / 2; + _updateBtn.layer.cornerRadius = 36 / 2; _updateBtn.layer.masksToBounds = YES; [_updateBtn addTarget:self action:@selector(updateAction) forControlEvents:UIControlEventTouchUpInside]; } @@ -149,7 +211,7 @@ _cancelBtn.titleLabel.font = [UIFont systemFontOfSize:14]; [_cancelBtn setTitleColor:[ThemeColor cancelButtonTextColor] forState:UIControlStateNormal]; [_cancelBtn setBackgroundImage:image forState:UIControlStateNormal]; - _cancelBtn.layer.cornerRadius = 32 / 2; + _cancelBtn.layer.cornerRadius = 36 / 2; _cancelBtn.layer.masksToBounds = YES; [_cancelBtn addTarget:self action:@selector(cancelAction) forControlEvents:UIControlEventTouchUpInside]; }