航海换皮

This commit is contained in:
chenshuanglin
2023-03-14 21:14:18 +08:00
parent 57da001dbd
commit f3c325cff2
80 changed files with 508 additions and 122 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_sailing_close@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_sailing_close@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_sailing_num_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_sailing_num_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_sailing_oil@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_sailing_oil@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

@@ -5,12 +5,12 @@
"scale" : "1x"
},
{
"filename" : "room_sailing_prize_normal@2x.png",
"filename" : "room_sailing_prize_one@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_sailing_prize_normal@3x.png",
"filename" : "room_sailing_prize_one@3x.png",
"idiom" : "universal",
"scale" : "3x"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_sailing_rank_cell_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_sailing_rank_cell_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_sailing_rank_today_nor@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_sailing_rank_today_nor@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_sailing_rank_today_sel@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_sailing_rank_yestoday_nor@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_sailing_rank_yestoday_nor@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_sailing_rank_yestoday_sel@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_sailing_rank_yestoday_sel@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 674 B

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 169 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_sailing_space_text@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_sailing_space_text@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 420 B

After

Width:  |  Height:  |  Size: 682 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 581 B

After

Width:  |  Height:  |  Size: 674 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_sailing_top_explore@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_sailing_top_explore@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -29,6 +29,7 @@ NSString * const kRedPacketHistory = @"kRedPacketHistory";
NSString * const kTuWenMessageHistory = @"kTuWenMessageHistory";//
NSString * const kTeenagerStatusChange = @"kTeenagerStatusChange";//
NSString * const kRoomQuickMessageCloseCount = @"kRoomQuickMessageCloseCount";//
NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey"; //
///
NSString * const KeyWithType(KeyType type) {

View File

@@ -75,7 +75,7 @@
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:10];
_titleLabel.textColor = UIColorFromRGB(0xA08161);
_titleLabel.textColor = [ThemeColor colorWithHexString:@"#42E7F1"];
_titleLabel.numberOfLines = 2;
}
return _titleLabel;

View File

@@ -16,7 +16,7 @@
@interface XPSailingRankTableViewCell ()
///
@property (nonatomic,strong) UIView * backView;
@property (nonatomic,strong) UIImageView * backView;
///
@property (nonatomic,strong) UIButton *rankButton;
///
@@ -54,9 +54,9 @@
- (void)initSubViewConstraints {
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView).inset(15);
make.left.right.mas_equalTo(self.contentView).inset(11);
make.top.mas_equalTo(self.contentView);
make.height.mas_equalTo(60);
make.height.mas_equalTo(71);
}];
[self.rankButton mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -74,7 +74,7 @@
[self.nickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.avatarImageView.mas_right).offset(5);
make.centerY.mas_equalTo(self.avatarImageView);
make.right.mas_lessThanOrEqualTo(self.diamondImageView.mas_left).offset(-5);
make.right.mas_lessThanOrEqualTo(self.diamondImageView.mas_left).offset(-8);
}];
@@ -87,7 +87,7 @@
[self.coinLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self.backView).offset(-10);
make.centerY.mas_equalTo(self.backView);
make.width.mas_equalTo(80);
make.width.mas_equalTo(72);
}];
}
@@ -115,12 +115,10 @@
}
}
- (UIView *)backView {
- (UIImageView *)backView {
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.backgroundColor = [ThemeColor colorWithHexString:@"#ffeec3"];
_backView.layer.masksToBounds = YES;
_backView.layer.cornerRadius = 6;
_backView = [[UIImageView alloc] init];
_backView.image = [UIImage imageNamed:@"room_sailing_rank_cell_bg"];
}
return _backView;
}
@@ -151,7 +149,7 @@
if (!_nickLabel) {
_nickLabel = [[UILabel alloc] init];
_nickLabel.font = [UIFont systemFontOfSize:12];
_nickLabel.textColor = [ThemeColor colorWithHexString:@"#A08161"];
_nickLabel.textColor = [ThemeColor colorWithHexString:@"#1726AA"];
}
return _nickLabel;
}
@@ -169,7 +167,7 @@
if (!_coinLabel) {
_coinLabel = [[UILabel alloc] init];
_coinLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightMedium];
_coinLabel.textColor = [ThemeColor colorWithHexString:@"#64472E"];
_coinLabel.textColor = [ThemeColor colorWithHexString:@"#1726AA"];
}
return _coinLabel;
}

View File

@@ -15,11 +15,13 @@
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UILabel *titleLabel;
//@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIButton *cancelButton;
///
@property (nonatomic,strong) UIButton *buyButton;
///
@property (nonatomic,strong) UIButton *closeBtn;
@end
@@ -38,34 +40,40 @@
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self.backImageView addSubview:self.titleLabel];
// [self.backImageView addSubview:self.titleLabel];
[self.backImageView addSubview:self.cancelButton];
[self.backImageView addSubview:self.buyButton];
[self.backImageView addSubview:self.closeBtn];
}
- (void)initSubViewConstraints {
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(280, 177));
make.size.mas_equalTo(CGSizeMake(290, 226));
}];
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.backImageView).offset(54);
make.centerX.mas_equalTo(self.backImageView);
}];
// [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
// make.top.mas_equalTo(self.backImageView).offset(54);
// make.centerX.mas_equalTo(self.backImageView);
// }];
[self.cancelButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(85, 24));
make.right.mas_equalTo(self.backImageView.mas_centerX).offset(-10);
make.bottom.mas_equalTo(self.backImageView).offset(-24);
make.size.mas_equalTo(CGSizeMake(103, 32));
make.right.mas_equalTo(self.backImageView.mas_centerX).offset(-4);
make.bottom.mas_equalTo(self.backImageView).offset(-31);
}];
[self.buyButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.mas_equalTo(self.cancelButton);
make.left.mas_equalTo(self.backImageView.mas_centerX).offset(10);
make.left.mas_equalTo(self.backImageView.mas_centerX).offset(4);
}];
[self.closeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(0);
make.bottom.mas_equalTo(self.backImageView.mas_top).offset(-18);
}];
}
@@ -92,17 +100,17 @@
return _backImageView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:15];
_titleLabel.textColor = UIColorFromRGB(0x64472E);
_titleLabel.text = @"当前燃油不足 \n 可参与活动获得燃油哦~";
_titleLabel.textAlignment = NSTextAlignmentCenter;
_titleLabel.numberOfLines = 2;
}
return _titleLabel;
}
//- (UILabel *)titleLabel {
// if (!_titleLabel) {
// _titleLabel = [[UILabel alloc] init];
// _titleLabel.font = [UIFont systemFontOfSize:15];
// _titleLabel.textColor = UIColorFromRGB(0x64472E);
// _titleLabel.text = @"当前燃油不足 \n 可参与活动获得燃油哦~";
// _titleLabel.textAlignment = NSTextAlignmentCenter;
// _titleLabel.numberOfLines = 2;
// }
// return _titleLabel;
//}
- (UIButton *)cancelButton {
if (!_cancelButton) {
@@ -123,4 +131,15 @@
}
return _buyButton;
}
- (UIButton *)closeBtn {
if (!_closeBtn) {
_closeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_closeBtn setImage:[UIImage imageNamed:@"room_sailing_close"] forState:UIControlStateNormal];
[_closeBtn setImage:[UIImage imageNamed:@"room_sailing_close"] forState:UIControlStateSelected];
}
return _closeBtn;
}
@end

View File

@@ -11,6 +11,8 @@ NS_ASSUME_NONNULL_BEGIN
@class RoomSailingPrizeListModel;
@interface XPSailingPrizeView : UIView
@property (nonatomic,strong) RoomSailingPrizeListModel * prizeInfo;
/// 弹框展示选择
@property (nonatomic, copy) void(^tipAlertChanged)(BOOL selected);
@end

View File

@@ -11,17 +11,29 @@
///Tool
#import "ThemeColor.h"
#import "NSArray+Safe.h"
#import "UIButton+EnlargeTouchArea.h"
#import "AccountInfoStorage.h"
///Model
#import "RoomSailingPrizeListModel.h"
///View
#import "XPSailingPrizeCollectionViewCell.h"
UIKIT_EXTERN NSString * const kSailingPrizeAlertKey;
@interface XPSailingPrizeView ()<UICollectionViewDelegate, UICollectionViewDataSource>
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UICollectionView *collectionView;
///
@property (nonatomic,strong) UIStackView *tipsStackView;
@property (nonatomic,strong) UIButton *boxButton;
@property (nonatomic,strong) UILabel *tipLabel;
///
@property (nonatomic,strong) UIButton *closeBtn;
@end
@@ -40,6 +52,11 @@
- (void)initSubViews {
[self addSubview:self.backImageView];
[self.backImageView addSubview:self.collectionView];
[self.backImageView addSubview:self.tipsStackView];
[self.backImageView addSubview:self.closeBtn];
[self.tipsStackView addArrangedSubview:self.boxButton];
[self.tipsStackView addArrangedSubview:self.tipLabel];
}
- (void)initSubViewConstraints {
@@ -51,8 +68,37 @@
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.backImageView).offset(75);
make.left.right.mas_equalTo(self.backImageView);
make.bottom.mas_equalTo(self).offset(-10);
make.bottom.mas_equalTo(self.tipsStackView).offset(-10);
}];
[self.tipsStackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.backImageView).offset(0);
make.bottom.mas_equalTo(self.backImageView).offset(-20);
make.height.mas_equalTo(10);
}];
[self.boxButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(10);
}];
[self.closeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(0);
make.bottom.mas_equalTo(self.backImageView.mas_top).offset(-18);
}];
}
- (void)boxButtonAction:(UIButton *)sender {
sender.selected = !sender.selected;
if (sender.selected) {
NSString * key = [NSString stringWithFormat:@"%@_%@", kSailingPrizeAlertKey, [AccountInfoStorage instance].getUid];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:key];
} else {
NSString * key = [NSString stringWithFormat:@"%@_%@", kSailingPrizeAlertKey, [AccountInfoStorage instance].getUid];
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:key];
}
if (self.tipAlertChanged) {
self.tipAlertChanged(sender.selected);
}
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
@@ -108,4 +154,47 @@
return _collectionView;
}
- (UIStackView *)tipsStackView {
if (!_tipsStackView) {
_tipsStackView = [[UIStackView alloc] init];
_tipsStackView.axis = UILayoutConstraintAxisHorizontal;
_tipsStackView.distribution = UIStackViewDistributionFill;
_tipsStackView.alignment = UIStackViewAlignmentFill;
_tipsStackView.spacing = 5;
}
return _tipsStackView;
}
- (UIButton *)boxButton {
if (!_boxButton) {
_boxButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_boxButton setImage:[UIImage imageNamed:@"room_sailing_tips_normal"] forState:UIControlStateNormal];
[_boxButton setImage:[UIImage imageNamed:@"room_sailing_tips_select"] forState:UIControlStateSelected];
[_boxButton addTarget:self action:@selector(boxButtonAction:) forControlEvents:UIControlEventTouchUpInside];
[_boxButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
NSString * key = [NSString stringWithFormat:@"%@_%@", kSailingPrizeAlertKey, [AccountInfoStorage instance].getUid];
_boxButton.selected = [[NSUserDefaults standardUserDefaults] boolForKey:key];
}
return _boxButton;
}
- (UILabel *)tipLabel {
if (!_tipLabel) {
_tipLabel = [[UILabel alloc] init];
_tipLabel.font = [UIFont systemFontOfSize:10];
_tipLabel.textColor = UIColor.whiteColor;
_tipLabel.text = @"下次不用提示";
}
return _tipLabel;
}
- (UIButton *)closeBtn {
if (!_closeBtn) {
_closeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_closeBtn setImage:[UIImage imageNamed:@"room_sailing_close"] forState:UIControlStateNormal];
[_closeBtn setImage:[UIImage imageNamed:@"room_sailing_close"] forState:UIControlStateSelected];
}
return _closeBtn;
}
@end

View File

@@ -11,6 +11,7 @@
#import <JXCategoryView/JXCategoryView.h>
#import <JXCategoryView/JXCategoryIndicatorBackgroundView.h>
#import <JXCategoryView/JXCategoryListContainerView.h>
#import <JXCategoryImageView.h>
///Tool
#import "ThemeColor.h"
#import "XPMacro.h"
@@ -21,7 +22,7 @@
///
@property (nonatomic, strong) NSArray<NSString *> *titles;
///
@property (nonatomic, strong) JXCategoryTitleView *titleView;
@property (nonatomic, strong) JXCategoryImageView *titleView;
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *contentView;
///
@@ -62,8 +63,8 @@
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self);
make.top.mas_equalTo(self).offset(98);
make.height.mas_equalTo(30);
make.top.mas_equalTo(self).offset(65);
make.height.mas_equalTo(50);
}];
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -86,30 +87,19 @@
}
#pragma mark - Getters And Setters
- (JXCategoryTitleView *)titleView {
- (JXCategoryImageView *)titleView {
if (!_titleView) {
_titleView = [[JXCategoryTitleView alloc] init];
_titleView = [[JXCategoryImageView alloc] init];
_titleView.delegate = self;
_titleView.titles = self.titles;
_titleView.imageNames = @[@"room_sailing_rank_today_nor",@"room_sailing_rank_yestoday_nor"];
_titleView.selectedImageNames = @[@"room_sailing_rank_today_sel",@"room_sailing_rank_yestoday_sel"];
_titleView.imageSize = CGSizeMake(118, 38);
_titleView.backgroundColor = [UIColor clearColor];
_titleView.titleColor = [ThemeColor colorWithHexString:@"#825A3A"];
_titleView.titleSelectedColor = [ThemeColor colorWithHexString:@"#F4D398"];
_titleView.titleFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:12];
_titleView.titleSelectedFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:12];
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
_titleView.defaultSelectedIndex = 0;
_titleView.cellWidth = KScreenWidth/ 2;
_titleView.cellSpacing = 0;
_titleView.listContainer = self.contentView;
JXCategoryIndicatorLineView * indocator = [[JXCategoryIndicatorLineView alloc] init];
indocator.indicatorColor = [ThemeColor colorWithHexString:@"#F4D398"];
indocator.indicatorWidth = 12;
indocator.indicatorHeight = 4;
indocator.indicatorCornerRadius = 2;
indocator.lineScrollOffsetX = 4;
_titleView.indicators = @[indocator];
}
return _titleView;
}

View File

@@ -10,6 +10,7 @@
#import <Masonry/Masonry.h>
#import <NIMSDK/NIMSDK.h>
#import <SVGA.h>
#import <ReactiveObjC.h>
///Tool
#import "ThemeColor.h"
#import "XPMacro.h"
@@ -17,6 +18,7 @@
#import "XPHtmlUrl.h"
#import "UIButton+EnlargeTouchArea.h"
#import "NSArray+Safe.h"
#import "XPButton.h"
///Model
#import "RoomSailingInfoModel.h"
#import "RoomSailingPrizeListModel.h"
@@ -32,14 +34,18 @@
#import "XPSailingPresenter.h"
#import "XPSailingProtocol.h"
NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
UIKIT_EXTERN NSString * const kSailingPrizeAlertKey;
#define KitemHeight (20 + 5)
@interface XPSailingViewController ()<XPSailingProtocol, NIMSystemNotificationManagerDelegate, SVGAPlayerDelegate, XPSailingBuyFuelViewDelegate>
///View
@property (nonatomic,strong) UIView * topView;
///
@property (nonatomic,strong) UIImageView *exploreImageView;
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UIImageView *spaceImageView;
///
@property (nonatomic,strong) UIImageView *sailingImageView;
///
@@ -51,15 +57,15 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
///
@property (nonatomic,strong) SVGAImageView *sailingCowryView;
///
@property (nonatomic,strong) UIButton *rankButton;
@property (nonatomic,strong) XPButton *rankButton;
///h
@property (nonatomic,strong) UIButton *getFuleButton;
@property (nonatomic,strong) XPButton *getFuleButton;
///
@property (nonatomic,strong) UIButton *recordButton;
@property (nonatomic,strong) XPButton *recordButton;
///
@property (nonatomic,strong) UIImageView *contentImageView;
///
@property (nonatomic,strong) UIButton *descriptionButton;
@property (nonatomic,strong) XPButton *descriptionButton;
///
@property (nonatomic,strong) UIButton *fuleButton;
///
@@ -121,19 +127,21 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
- (void)initSubViews {
self.levelArray = @[@"1", @"10", @"50", @"100"];
self.exploreCount = 0;
self.view.backgroundColor = [UIColor clearColor];
self.view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.7];
[self.view addSubview:self.topView];
[self.view addSubview:self.exploreImageView];
[self.view addSubview:self.backImageView];
[self.backImageView addSubview:self.sailingView];
[self.backImageView addSubview:self.sailingCowryView];
[self.backImageView addSubview:self.sailingImageView];
[self.backImageView addSubview:self.spaceImageView];
[self.backImageView addSubview:self.rankButton];
[self.backImageView addSubview:self.getFuleButton];
[self.backImageView addSubview:self.recordButton];
[self.backImageView addSubview:self.descriptionButton];
[self.backImageView addSubview:self.contentImageView];
[self.contentImageView addSubview:self.descriptionButton];
[self.contentImageView addSubview:self.animationView];
[self.contentImageView addSubview:self.fuleButton];
[self.contentImageView addSubview:self.numberView];
@@ -153,7 +161,13 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
- (void)initSubViewConstraints {
[self.topView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.mas_equalTo(self.view);
make.bottom.mas_equalTo(self.backImageView.mas_top);
make.bottom.mas_equalTo(self.exploreImageView.mas_top);
}];
[self.exploreImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.backImageView.mas_top).offset(-19);
make.centerX.mas_equalTo(0);
make.size.mas_equalTo(CGSizeMake(360.0 * kScreenScale, 48.0 * kScreenScale));
}];
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -169,82 +183,91 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
make.edges.mas_equalTo(self.backImageView);
}];
[self.spaceImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(0);
make.centerX.mas_equalTo(0);
make.size.mas_equalTo(CGSizeMake(295, 75));
}];
[self.sailingImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.backImageView.mas_top).offset(8);
make.left.right.mas_equalTo(0);
make.height.mas_equalTo(self.sailingImageView.mas_width).multipliedBy(362.0/375.0);
}];
[self.rankButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(41, 32));
make.top.mas_equalTo(self.backImageView).offset(129);
make.right.mas_equalTo(self.backImageView).offset(-12);
}];
[self.getFuleButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.right.mas_equalTo(self.rankButton);
make.top.mas_equalTo(self.rankButton.mas_bottom).offset(8);
make.size.mas_equalTo(CGSizeMake(33, 48));
make.top.mas_equalTo(self.backImageView).offset(81);
make.right.mas_equalTo(self.backImageView).offset(-15);
}];
[self.recordButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.right.mas_equalTo(self.rankButton);
make.top.mas_equalTo(self.getFuleButton.mas_bottom).offset(8);
make.top.mas_equalTo(self.rankButton.mas_bottom).offset(8);
}];
CGFloat kscale = 199.0f / 356.0f;
[self.contentImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backImageView).inset(9);
make.bottom.mas_equalTo(self.backImageView).offset(-34);
make.height.mas_equalTo((KScreenWidth - 18) * kscale);
[self.getFuleButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.right.mas_equalTo(self.rankButton);
make.top.mas_equalTo(self.recordButton.mas_bottom).offset(8);
}];
[self.descriptionButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(65, 22));
make.right.mas_equalTo(self.contentImageView);
make.top.mas_equalTo(self.contentImageView).offset(42);
make.size.right.mas_equalTo(self.rankButton);
make.top.mas_equalTo(self.getFuleButton.mas_bottom).offset(8);
}];
CGFloat kscale = 161.0f / 375.0f;
CGFloat contentHeight = KScreenWidth * kscale;
[self.contentImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backImageView).inset(0);
make.bottom.mas_equalTo(self.backImageView).offset(0);
make.height.mas_equalTo(contentHeight);
}];
[self.fuleButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.right.mas_equalTo(self.descriptionButton);
make.top.mas_equalTo(self.descriptionButton.mas_bottom).offset(4);
make.left.mas_equalTo(self.contentImageView).offset(30 * kScreenScale);
make.top.mas_equalTo(self.contentImageView).offset(15 * kScreenScale);
}];
[self.numberView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.contentImageView);
make.top.mas_equalTo(self.contentImageView).offset(77 * kScreenScale);
make.top.mas_equalTo(self.contentImageView).offset(40 * kScreenScale);
make.height.mas_equalTo(30 * kScreenScale);
}];
[self.reduButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(30 * kScreenScale);;
make.width.mas_equalTo(34 * kScreenScale);;
}];
[self.addButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(30 * kScreenScale);
make.width.mas_equalTo(34 * kScreenScale);
}];
[self.textField mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(75 * kScreenScale);
make.width.mas_equalTo(100 * kScreenScale);
}];
[self.exploreButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(150 * kScreenScale, 47 * kScreenScale));
make.size.mas_equalTo(CGSizeMake(360 * kScreenScale, 47 * kScreenScale));
make.centerX.mas_equalTo(self.contentImageView);
make.top.mas_equalTo(self.numberView.mas_bottom).offset(12 * kScreenScale);
make.top.mas_equalTo(self.numberView.mas_bottom).offset(22 * kScreenScale);
}];
[self.consumLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.exploreButton);
make.bottom.mas_equalTo(self.exploreButton.mas_bottom).offset(-7 * kScreenScale);
make.bottom.mas_equalTo(self.exploreButton.mas_bottom).offset(-6 * kScreenScale);
}];
[self.animationView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.contentImageView).offset(10);
make.bottom.mas_equalTo(self.contentImageView).offset(-50);
make.bottom.mas_equalTo(self.contentImageView).offset(-70*kScreenScale);
make.width.mas_equalTo(150);
make.height.mas_equalTo(KitemHeight * 5);
}];
[self.tipsStackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.contentImageView);
make.bottom.mas_equalTo(self.contentImageView).offset(-20);
make.right.mas_equalTo(self.contentImageView).offset(-30);
make.centerY.mas_equalTo(self.fuleButton).offset(0);
make.height.mas_equalTo(10);
}];
@@ -288,24 +311,29 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
#pragma mark - XPSailingProtocol
- (void)getSailingInfoSuccess:(RoomSailingInfoModel *)info {
self.sailingInfo = info;
NSString * fuleStr = [NSString stringWithFormat:@"%ld", info.keyNum];
NSString * fuleStr = [NSString stringWithFormat:@"持有燃料:%ld", info.keyNum];
[self.fuleButton setTitle:fuleStr forState:UIControlStateNormal];
}
- (void)openSailingSuccess:(RoomSailingPrizeListModel *)model {
self.prizeInfo = model;
self.sailingInfo.keyNum = model.remainKeyNum;
NSString * fuleStr = [NSString stringWithFormat:@"%ld", self.sailingInfo.keyNum];
NSString * fuleStr = [NSString stringWithFormat:@"持有燃料%ld", self.sailingInfo.keyNum];
[self.fuleButton setTitle:fuleStr forState:UIControlStateNormal];
self.exploreButton.userInteractionEnabled = YES;
NSString * key = [NSString stringWithFormat:@"%@_%@", kSailingPrizeAlertKey, [AccountInfoStorage instance].getUid];
if (![[NSUserDefaults standardUserDefaults] boolForKey:key] && model.prizeItemList.count > 0) {
CGFloat height = 180;
CGFloat height = 226;
if (model.prizeItemList.count> 5) {
height = 255;
height = 267;
}
XPSailingPrizeView * prizeView = [[XPSailingPrizeView alloc] initWithFrame:CGRectMake(0, 0, 283, height)];
XPSailingPrizeView * prizeView = [[XPSailingPrizeView alloc] initWithFrame:CGRectMake(0, 0, 290, height)];
prizeView.prizeInfo = model;
@weakify(self);
prizeView.tipAlertChanged = ^(BOOL selected) {
@strongify(self);
[self boxButtonAction:self.boxButton];
};
[TTPopup popupView:prizeView style:TTPopupStyleAlert];
}
@@ -495,43 +523,81 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
return _topView;
}
- (UIImageView *)exploreImageView {
if (!_exploreImageView) {
_exploreImageView = [[UIImageView alloc] init];
_exploreImageView.userInteractionEnabled = YES;
_exploreImageView.image = [UIImage imageNamed:@"room_sailing_top_explore"];
_exploreImageView.contentMode = UIViewContentModeScaleAspectFill;
_exploreImageView.layer.masksToBounds = YES;
}
return _exploreImageView;
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_sailing_bg"];
// _backImageView.image = [UIImage imageNamed:@"room_sailing_bg"];
_backImageView.contentMode = UIViewContentModeScaleAspectFill;
_backImageView.layer.masksToBounds = YES;
}
return _backImageView;
}
- (UIButton *)rankButton {
- (UIImageView *)spaceImageView {
if (!_spaceImageView) {
_spaceImageView = [[UIImageView alloc] init];
_spaceImageView.userInteractionEnabled = YES;
_spaceImageView.image = [UIImage imageNamed:@"room_sailing_space_text"];
_spaceImageView.contentMode = UIViewContentModeScaleAspectFill;
_spaceImageView.layer.masksToBounds = YES;
}
return _spaceImageView;
}
- (XPButton *)rankButton {
if (!_rankButton) {
_rankButton = [UIButton buttonWithType:UIButtonTypeCustom];
_rankButton = [XPButton buttonWithType:UIButtonTypeCustom];
[_rankButton setImage:[UIImage imageNamed:@"room_sailing_rank"] forState:UIControlStateNormal];
[_rankButton setImage:[UIImage imageNamed:@"room_sailing_rank"] forState:UIControlStateSelected];
[_rankButton setTitle:@"排行" forState:UIControlStateNormal];
[_rankButton setTitleColor:UIColor.whiteColor forState:UIControlStateNormal];
_rankButton.titleLabel.font = [UIFont systemFontOfSize:10];
[_rankButton addTarget:self action:@selector(rankButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_rankButton.imagePosition = XPButtonImagePositionTop;
_rankButton.imageTitleSpace = 4;
}
return _rankButton;
}
- (UIButton *)getFuleButton {
- (XPButton *)getFuleButton {
if (!_getFuleButton) {
_getFuleButton = [UIButton buttonWithType:UIButtonTypeCustom];
_getFuleButton = [XPButton buttonWithType:UIButtonTypeCustom];
[_getFuleButton setImage:[UIImage imageNamed:@"room_sailing_getfule"] forState:UIControlStateNormal];
[_getFuleButton setImage:[UIImage imageNamed:@"room_sailing_getfule"] forState:UIControlStateSelected];
[_getFuleButton setTitle:@"商店" forState:UIControlStateNormal];
[_getFuleButton setTitleColor:UIColor.whiteColor forState:UIControlStateNormal];
_getFuleButton.titleLabel.font = [UIFont systemFontOfSize:10];
[_getFuleButton addTarget:self action:@selector(getFuleButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_getFuleButton.imagePosition = XPButtonImagePositionTop;
_getFuleButton.imageTitleSpace = 4;
}
return _getFuleButton;
}
- (UIButton *)recordButton {
- (XPButton *)recordButton {
if (!_recordButton) {
_recordButton = [UIButton buttonWithType:UIButtonTypeCustom];
_recordButton = [XPButton buttonWithType:UIButtonTypeCustom];
[_recordButton setImage:[UIImage imageNamed:@"room_sailing_record"] forState:UIControlStateNormal];
[_recordButton setImage:[UIImage imageNamed:@"room_sailing_record"] forState:UIControlStateSelected];
[_recordButton setTitle:@"记录" forState:UIControlStateNormal];
[_recordButton setTitleColor:UIColor.whiteColor forState:UIControlStateNormal];
_recordButton.titleLabel.font = [UIFont systemFontOfSize:10];
[_recordButton addTarget:self action:@selector(recordButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_recordButton.imagePosition = XPButtonImagePositionTop;
_recordButton.imageTitleSpace = 4;
}
return _recordButton;
}
@@ -545,12 +611,17 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
return _contentImageView;
}
- (UIButton *)descriptionButton {
- (XPButton *)descriptionButton {
if (!_descriptionButton) {
_descriptionButton = [UIButton buttonWithType:UIButtonTypeCustom];
_descriptionButton = [XPButton buttonWithType:UIButtonTypeCustom];
[_descriptionButton setImage:[UIImage imageNamed:@"room_sailing_description"] forState:UIControlStateNormal];
[_descriptionButton setImage:[UIImage imageNamed:@"room_sailing_description"] forState:UIControlStateSelected];
[_descriptionButton setTitle:@"玩法" forState:UIControlStateNormal];
[_descriptionButton setTitleColor:UIColor.whiteColor forState:UIControlStateNormal];
_descriptionButton.titleLabel.font = [UIFont systemFontOfSize:10];
[_descriptionButton addTarget:self action:@selector(descriptionButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_descriptionButton.imagePosition = XPButtonImagePositionTop;
_descriptionButton.imageTitleSpace = 4;
}
return _descriptionButton;
}
@@ -558,12 +629,10 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
- (UIButton *)fuleButton {
if (!_fuleButton) {
_fuleButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_fuleButton setTitle:@"0" forState:UIControlStateNormal];
[_fuleButton setTitle:@"持有燃油:0" forState:UIControlStateNormal];
[_fuleButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_fuleButton.titleLabel.font = [UIFont systemFontOfSize:10];
_fuleButton.titleEdgeInsets = UIEdgeInsetsMake(0, 15, 0, 0);
[_fuleButton setTitleColor:[ThemeColor colorWithHexString:@"#643B29"] forState:UIControlStateNormal];
[_fuleButton setBackgroundImage:[UIImage imageNamed:@"room_sailing_rule_bg"] forState:UIControlStateNormal];
[_fuleButton setImage:[UIImage imageNamed:@"room_sailing_oil"] forState:UIControlStateNormal];
}
return _fuleButton;
}
@@ -582,11 +651,10 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
- (UITextField *)textField {
if (!_textField) {
_textField = [[UITextField alloc] init];
_textField.textColor = [ThemeColor colorWithHexString:@"#64472E"];
_textField.backgroundColor = [ThemeColor colorWithHexString:@"#DACBB4"];
_textField.textColor = [ThemeColor colorWithHexString:@"##35FFFD"];
_textField.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"room_sailing_num_bg"]];
_textField.font = [UIFont systemFontOfSize:15];
_textField.layer.masksToBounds = YES;
_textField.layer.cornerRadius = 11;
_textField.text = @"1";
_textField.enabled = NO;
_textField.textAlignment = NSTextAlignmentCenter;
@@ -631,7 +699,7 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
if (!_consumLabel) {
_consumLabel = [[UILabel alloc] init];
_consumLabel.font = [UIFont systemFontOfSize:10];
_consumLabel.textColor = [ThemeColor colorWithHexString:@"#A08161"];
_consumLabel.textColor = UIColor.whiteColor;
_consumLabel.textAlignment = NSTextAlignmentCenter;
_consumLabel.text = @"消耗1燃油连续探索";
}
@@ -717,7 +785,7 @@ NSString * const kSailingPrizeAlertKey = @"kSailingPrizeAlertKey";
if (!_tipLabel) {
_tipLabel = [[UILabel alloc] init];
_tipLabel.font = [UIFont systemFontOfSize:10];
_tipLabel.textColor = UIColorFromRGB(0xA16A2F);
_tipLabel.textColor = UIColor.whiteColor;
_tipLabel.text = @"不展示结果弹框";
}
return _tipLabel;