Files
peko-ios/YuMi/Modules/YMRoom/View/SendRedPacket/XPReceiveRedPacketView.m
2023-10-28 00:29:29 +08:00

596 lines
25 KiB
Objective-C

//
// YMReceiveRedPacketView.m
// YUMI
//
// Created by YUMI on 2022/9/2.
//
#import "XPReceiveRedPacketView.h"
#import "XPReceiveRedPacketModel.h"
#import "NSObject+MJExtension.h"
#import "DJDKMIMOMColor.h"
#import <Masonry/Masonry.h>
#import "NetImageView.h"
#import "TTPopUp.h"
#import "Api+RedPacket.h"
#import "XNDJTDDLoadingTool.h"
#import "XPRedPacketResultModel.h"
#import "XPOpenRedPacketCell.h"
#import "XCCurrentVCStackManager.h"
#import "XPRoomViewController.h"
#import "RoomHostDelegate.h"
#import "XPRoomMiniManager.h"
#import "RoomInfoModel.h"
#import "XPRedPacketModel.h"
#import "YUMIConstant.h"
#import "NSArray+Safe.h"
#import "CountDownHelper.h"
#import "PIReceiveRedPacketSuccessView.h"
@interface XPReceiveRedPacketView()<CountDownHelperDelegate>
@property (nonatomic, strong) XPRedPacketResultModel *resultData;
///背景
@property (nonatomic, strong) UIImageView *bgImageView;
///发送者头像
@property (nonatomic, strong) NetImageView *sendAvatar;
///发送者昵称
@property (nonatomic, strong) UILabel *sendNickLabel;
///收到的祝福语
@property (nonatomic, strong) UILabel *sendWishLabel;
///收到的祝福语背景
@property(nonatomic,strong) UIView *sendWishView;
///抢红包按钮
@property (nonatomic, strong) UIButton *openButton;
///抢红包icon
@property(nonatomic,strong) UIImageView *robIcon;
///抢红包类型
@property(nonatomic,strong) UILabel *robView;
///倒计时
@property(nonatomic,strong) UILabel *countDownView;
///倒计时
@property(nonatomic,strong) UILabel *countDownTitleView;
///关闭
@property (nonatomic, strong) UIButton *closeBtn;
///倒计时
@property (nonatomic,strong) CountDownHelper *countDownHelper;
@property(nonatomic,assign) BOOL isCountDownEnd;
@end
@implementation XPReceiveRedPacketView
-(void)dealloc{
}
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.isCountDownEnd = YES;
[self addSubview:self.alphaView];
[self addSubview:self.bgImageView];
[self.bgImageView addSubview:self.closeBtn];
[self.bgImageView addSubview:self.sendAvatar];
[self.bgImageView addSubview:self.sendNickLabel];
[self.bgImageView addSubview:self.sendWishView];
[self.sendWishView addSubview:self.sendWishLabel];
[self.bgImageView addSubview:self.openButton];
[self.openButton addSubview:self.robIcon];
[self.bgImageView addSubview:self.robView];
[self.bgImageView addSubview:self.countDownView];
[self.bgImageView addSubview:self.countDownTitleView];
[self.bgImageView addSubview:self.robView];
}
- (void)initSubViewConstraints {
[self.alphaView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(0);
}];
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(327));
make.height.mas_equalTo(kGetScaleWidth(466));
make.centerX.centerY.mas_equalTo(self);
}];
[self.closeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(39));
make.height.width.mas_equalTo(kGetScaleWidth(28));
make.trailing.mas_equalTo(-kGetScaleWidth(8));
}];
[self.sendAvatar mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.bgImageView);
make.top.mas_equalTo(self.bgImageView).mas_offset(kGetScaleWidth(94));
make.width.height.mas_equalTo(kGetScaleWidth(65));
}];
[self.sendNickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.bgImageView);
make.top.mas_equalTo(self.sendAvatar.mas_bottom).mas_offset(kGetScaleWidth(4));
make.height.mas_equalTo(kGetScaleWidth(22));
make.width.mas_equalTo(kGetScaleWidth(200));
}];
[self.sendWishView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_lessThanOrEqualTo(kGetScaleWidth(235));
make.top.equalTo(self.sendNickLabel.mas_bottom).mas_offset(kGetScaleWidth(10));
make.height.mas_equalTo(kGetScaleWidth(35));
make.centerX.mas_equalTo(self.bgImageView);
}];
[self.sendWishLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.mas_equalTo(self.sendWishView);
make.leading.trailing.equalTo(self.sendWishView).inset(kGetScaleWidth(10));
}];
[self.openButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.bgImageView);
make.top.equalTo(self.sendWishView.mas_bottom).mas_offset(kGetScaleWidth(14));
make.width.mas_equalTo(kGetScaleWidth(143));
make.height.mas_equalTo(kGetScaleWidth(124));
}];
[self.robIcon mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(34));
make.width.mas_equalTo(kGetScaleWidth(38));
make.center.mas_equalTo(self.openButton);
}];
[self.robView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.sendWishView.mas_bottom).mas_offset(kGetScaleWidth(56));
make.centerX.mas_equalTo(self.bgImageView);
make.height.mas_equalTo(kGetScaleWidth(40));
}];
[self.countDownView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.sendWishView.mas_bottom).mas_offset(kGetScaleWidth(51));
make.centerX.mas_equalTo(self.bgImageView);
make.height.mas_equalTo(kGetScaleWidth(28));
}];
[self.countDownTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.sendWishView.mas_bottom).mas_offset(kGetScaleWidth(79));
make.centerX.mas_equalTo(self.bgImageView);
make.height.mas_equalTo(kGetScaleWidth(17));
}];
}
- (void)setReceiveModel:(XPRedPacketModel *)receiveModel {
_receiveModel = receiveModel;
if(_receiveModel.result != nil){
self.resultData = [XPRedPacketResultModel modelWithDictionary:_receiveModel.result] ;
if(self.resultData.redEnvelopeState == RedPacketState_Remain_Zero || self.resultData.redEnvelopeState == RedPacketState_Success){
[self showRedPacketResultViewWithResultData:self.resultData];
return;
}
}
self.sendAvatar.imageUrl = _receiveModel.sendUserAvatar.length > 0 ? receiveModel.sendUserAvatar : receiveModel.userVO.avatar;
NSString *nick = _receiveModel.sendUserNick.length > 0 ? _receiveModel.sendUserNick : receiveModel.userVO.nick;
if (nick.length > 6) {
nick = [NSString stringWithFormat:@"%@...", [nick substringToIndex:6]];
}
self.sendNickLabel.text = [NSString stringWithFormat:@"%@%@",nick,YMLocalizedString(@"XPReceiveRedPacketView8")] ;
self.robView.hidden = YES;
self.robIcon.hidden = YES;
self.countDownView.hidden = YES;
self.countDownTitleView.hidden = YES;
if(_receiveModel.kind == RedPacketConditionsType_NO){
self.sendWishLabel.text = _receiveModel.redEnvelopeMessage.length > 0 ? _receiveModel.redEnvelopeMessage :YMLocalizedString(@"XPReceiveRedPacketView9");
if(_receiveModel.validityType == 1){
NSInteger time = [self getTimeDifferenceWithTimestamp:_receiveModel.timestamp / 1000 beginTime:_receiveModel.beginTime / 1000];
if(time > 0){
self.countDownView.hidden = NO;
self.countDownTitleView.hidden = NO;
self.isCountDownEnd = NO;
[self.countDownHelper openCountdownWithTime:(int)time];
}else{
self.robIcon.hidden = NO;
}
}else{
self.robIcon.hidden = NO;
}
}else if(_receiveModel.kind == RedPacketConditionsType_Followd){
if(_receiveModel.finish == 1){
self.sendWishLabel.text = YMLocalizedString(@"XPReceiveRedPacketView17");
}else{
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:YMLocalizedString(@"XPReceiveRedPacketView10") attributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:[UIColor whiteColor]}];
[textAtt addAttributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:UIColorFromRGB(0xFFF87A)} range:NSMakeRange(0, 4)];
self.sendWishLabel.attributedText = textAtt;
}
NSInteger time = [self getTimeDifferenceWithTimestamp:_receiveModel.timestamp / 1000 beginTime:_receiveModel.beginTime / 1000];
if(time > 0){
self.isCountDownEnd = NO;
[self.countDownHelper openCountdownWithTime:(int)time];
if(_receiveModel.finish == 1){
self.countDownView.hidden = NO;
self.countDownTitleView.hidden = NO;
}else{
self.robView.hidden = NO;
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView13");
}
}else{
if(_receiveModel.finish == 1){
self.robIcon.hidden = NO;
}else{
self.robView.hidden = NO;
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView16");
}
}
}else if(_receiveModel.kind == RedPacketConditionsType_Share){
if(_receiveModel.finish == 1){
self.sendWishLabel.text = YMLocalizedString(@"XPReceiveRedPacketView17");
}else{
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:YMLocalizedString(@"XPReceiveRedPacketView11") attributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:[UIColor whiteColor]}];
[textAtt addAttributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:UIColorFromRGB(0xFFF87A)} range:NSMakeRange(0, 6)];
self.sendWishLabel.attributedText = textAtt;
}
NSInteger time = [self getTimeDifferenceWithTimestamp:_receiveModel.timestamp / 1000 beginTime:_receiveModel.beginTime / 1000];
if(time > 0){
self.isCountDownEnd = NO;
[self.countDownHelper openCountdownWithTime:(int)time];
if(_receiveModel.finish == 1){
self.countDownView.hidden = NO;
self.countDownTitleView.hidden = NO;
}else{
self.robView.hidden = NO;
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView14");
}
}else{
if(_receiveModel.finish == 1){
self.robIcon.hidden = NO;
}else{
self.robView.hidden = NO;
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView16");
}
}
}else if(_receiveModel.kind == RedPacketConditionsType_Scrolling){
if(_receiveModel.finish == 1){
self.sendWishLabel.text = YMLocalizedString(@"XPReceiveRedPacketView17");
}else{
NSString *text = [NSString stringWithFormat:YMLocalizedString(@"XPReceiveRedPacketView12"),_receiveModel.message ?: @""];
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:text attributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:[UIColor whiteColor]}];
[textAtt addAttributes:@{NSFontAttributeName:kFontRegular(11),NSForegroundColorAttributeName:UIColorFromRGB(0xFFF87A)} range:[text rangeOfString:_receiveModel.message ?:@""]];
self.sendWishLabel.attributedText = textAtt;
}
NSInteger time = [self getTimeDifferenceWithTimestamp:_receiveModel.timestamp / 1000 beginTime:_receiveModel.beginTime / 1000];
if(time > 0){
[self.countDownHelper openCountdownWithTime:(int)time];
self.isCountDownEnd = NO;
if(_receiveModel.finish == 1){
self.countDownView.hidden = NO;
self.countDownTitleView.hidden = NO;
}else{
self.robView.hidden = NO;
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView15");
}
}else{
if(_receiveModel.finish == 1){
self.robIcon.hidden = NO;
}else{
self.robView.hidden = NO;
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView16");
}
}
}
}
-(NSInteger)getTimeDifferenceWithTimestamp:(long)timestamp beginTime:(long)beginTime {
NSString *time1 = [NSDate timestampSwitchTime:(NSInteger)timestamp formatter:@"YYYY-MM-dd hh:mm:ss"];
NSString *time2 = [NSDate timestampSwitchTime:(NSInteger)beginTime formatter:@"YYYY-MM-dd hh:mm:ss"];
NSInteger second = [NSDate pleaseInsertStarTimeo:time1 andInsertEndTime:time2];
return second;
}
#pragma mark - action
- (void)onOpenButtonClick:(UIButton *)sender {
if(self.receiveModel.kind == RedPacketConditionsType_NO){
if(self.receiveModel.validityType == 1 && self.isCountDownEnd == NO){
return;
}
}else if(self.receiveModel.kind == RedPacketConditionsType_Followd){
if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){
[self removeFromSuperview];
[[NSNotificationCenter defaultCenter]postNotificationName:@"kOpenRedPacketNotification" object:nil userInfo:@{@"type":@(RedPacketConditionsType_Followd),@"uid":self.receiveModel.userId ?: @"",@"roomUid":self.receiveModel.roomUId ?: @""}];
return;
}else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){
[self removeFromSuperview];
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPReceiveRedPacketView18")];
return;
}else if(self.isCountDownEnd == NO && self.receiveModel.finish == 1){
return;
}
}else if(self.receiveModel.kind == RedPacketConditionsType_Share){
if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){
[self removeFromSuperview];
[[NSNotificationCenter defaultCenter]postNotificationName:@"kOpenRedPacketNotification" object:nil userInfo:@{@"type":@(RedPacketConditionsType_Share),@"uid":self.receiveModel.userId ?: @"",@"roomUid":self.receiveModel.roomUId ?: @""}];
return;
}else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){
[self removeFromSuperview];
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPReceiveRedPacketView18")];
return;
}else if(self.isCountDownEnd == NO && self.receiveModel.finish == 1){
return;
}
}else if(self.receiveModel.kind == RedPacketConditionsType_Scrolling){
if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){
[self removeFromSuperview];
[[NSNotificationCenter defaultCenter]postNotificationName:@"kOpenRedPacketNotification" object:nil userInfo:@{@"type":@(RedPacketConditionsType_Scrolling),@"uid":self.receiveModel.userId ?: @"",@"roomUid":self.receiveModel.roomUId ?: @"",@"scrolling":self.receiveModel.message ?: @""}];
return;
}else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){
[self removeFromSuperview];
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPReceiveRedPacketView18")];
return;
}else if(self.isCountDownEnd == NO && self.receiveModel.finish == 1){
return;
}
}
if (self.receiveModel.userVO != nil) {
[self openRoomRedPacket:sender redEnvelopeId:self.receiveModel.redEnvelopeId];
} else {
//判断是否为房内红包
if ([self.receiveModel.redEnvelopePosition isEqualToString:@"IN_ROOM"]) {
//1、房内红包
[self openRoomRedPacket:sender redEnvelopeId:self.receiveModel.redEnvelopeId];
} else {
//2、全服红包
if (self.inAllPacketRoom) {//在全服红包的房间内,直接打开
[self openRoomRedPacket:sender redEnvelopeId:self.receiveModel.redEnvelopeId];
} else {//不在房内,进入发红包的房间
if ([XPRoomMiniManager shareManager].getRoomInfo) {
RoomInfoModel *roomInfo = [XPRoomMiniManager shareManager].getRoomInfo;
if (roomInfo.uid == self.receiveModel.roomUid.integerValue) {
[XPRoomViewController openMiniRoom:[NSString stringWithFormat:@"%ld", roomInfo.uid] viewController:[[XCCurrentVCStackManager shareManager] getCurrentVC] redEnvelopeId:self.receiveModel.redEnvelopeId];
} else {
[XPRoomViewController openRoom:self.receiveModel.roomUid viewController:[[XCCurrentVCStackManager shareManager] getCurrentVC]redEnvelopeId:self.receiveModel.redEnvelopeId];
}
} else {
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj isKindOfClass:[XPRoomViewController class]]) {
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController popToRootViewControllerAnimated:NO];
XPRoomViewController<RoomHostDelegate> * rooomVC = obj;
[rooomVC exitRoom];
*stop = YES;
}
}];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[XPRoomViewController openRoom:self.receiveModel.roomUid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC redEnvelopeId:self.receiveModel.redEnvelopeId];
});
}
[self removeFromSuperview];
}
}
}
}
- (void)openRoomRedPacket:(UIButton *)sender redEnvelopeId:(NSString *)redEnvelopeId {
//1.1 开红包动画
CABasicAnimation *transformAnima = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];
transformAnima.toValue = [NSNumber numberWithFloat:M_PI];
transformAnima.duration = 0.3;
transformAnima.cumulative = NO;
transformAnima.autoreverses = YES;
transformAnima.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
sender.layer.zPosition = 5;
sender.layer.zPosition = sender.layer.frame.size.width / 2.f;
transformAnima.repeatCount = 1000;
[sender.layer addAnimation:transformAnima forKey:@"rotationAnimationY"];
sender.enabled = NO;
//1.2 网络请求
[Api openRedPacket:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
sender.enabled = YES;
if (code != 200) {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
return;;
}
XPRedPacketResultModel *model = [XPRedPacketResultModel modelWithJSON:data.data];
self.resultData = model;
[self showRedPacketResultViewWithResultData:model];
// 如果打开红包成功 则记录当前红包状态
NSArray *history = [[NSUserDefaults standardUserDefaults] objectForKey:kRedPacketHistory];
NSMutableArray *tempArray = [NSMutableArray arrayWithArray:history];
if (![tempArray containsObject:self.resultData.redEnvelopeVO.redEnvelopeId]) {
[tempArray addObject:self.resultData.redEnvelopeVO.redEnvelopeId];
[[NSUserDefaults standardUserDefaults] setObject:tempArray forKey:kRedPacketHistory];
[[NSUserDefaults standardUserDefaults] synchronize];
}
} redEnvelopeId:redEnvelopeId];
}
///显示红包结果
- (void)showRedPacketResultViewWithResultData:(XPRedPacketResultModel *)resultData {
self.bgImageView.hidden = YES;
[[NSNotificationCenter defaultCenter]postNotificationName:@"kOpenRedPacketResult" object:resultData];
PIReceiveRedPacketSuccessView *successView = [[PIReceiveRedPacketSuccessView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
successView.resultModel = resultData;
[self addSubview:successView];
}
#pragma mark- CountDownHelperDelegate
///倒计时结束
- (void)onCountdownFinish{
self.isCountDownEnd = YES;
self.countDownView.hidden = YES;
self.countDownTitleView.hidden = YES;
if(self.receiveModel.kind == RedPacketConditionsType_NO){
self.robIcon.hidden = NO;
}else {
if(_receiveModel.finish == 1){
self.robIcon.hidden = NO;
}else{
self.robView.hidden = NO;
self.robView.text = YMLocalizedString(@"XPReceiveRedPacketView16");
}
}
}
///倒计时进行
- (void)onCountdownOpen:(int)time{
NSInteger seconds = time;
int minutes = (seconds)%3600/60;
int second = (seconds)%60;
self.countDownView.text = [NSString stringWithFormat:@"%02d:%02d",minutes,second];
}
#pragma mark - action
- (void)onCloseButtonClick:(UIButton *)sender {
[self removeFromSuperview];
}
#pragma mark - getter
- (UIView *)alphaView {
if (!_alphaView) {
_alphaView = [[UIView alloc] init];
_alphaView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.4];
}
return _alphaView;
}
- (UIImageView *)bgImageView {
if (!_bgImageView) {
_bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pi_red_packet_receive_bg"]];
_bgImageView.userInteractionEnabled = YES;
}
return _bgImageView;
}
- (NetImageView *)sendAvatar {
if (!_sendAvatar) {
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_sendAvatar = [[NetImageView alloc] initWithConfig:config];
_sendAvatar.layer.masksToBounds = YES;
_sendAvatar.layer.cornerRadius = kGetScaleWidth(65)/2;
}
return _sendAvatar;
}
- (UIView *)sendNickLabel {
if (!_sendNickLabel) {
UILabel *label = [[UILabel alloc] init];
label.font = kFontMedium(16);
label.textColor = [UIColor whiteColor];
label.textAlignment = NSTextAlignmentCenter;
_sendNickLabel = label;
}
return _sendNickLabel;
}
-(UIView *)sendWishView{
if(!_sendWishView){
_sendWishView = [UIView new];
_sendWishView.backgroundColor = UIColorRGBAlpha(0xF52727, 0.4);
_sendWishView.layer.cornerRadius = kGetScaleWidth(8);
_sendWishView.layer.masksToBounds = YES;
_sendWishView.layer.borderWidth = 1;
_sendWishView.layer.borderColor = [UIColor whiteColor].CGColor;
}
return _sendWishView;
}
- (UILabel *)sendWishLabel {
if (!_sendWishLabel) {
UILabel *label = [[UILabel alloc] init];
label.textAlignment = NSTextAlignmentCenter;
_sendWishLabel = label;
_sendWishLabel.textColor = [UIColor whiteColor];
_sendWishLabel.font = kFontRegular(11);
_sendWishLabel.adjustsFontSizeToFitWidth = YES;
}
return _sendWishLabel;
}
- (UIButton *)openButton {
if (!_openButton) {
_openButton = [[UIButton alloc] init];
[_openButton setImage:[UIImage imageNamed:@"pi_red_packet_receive_open"] forState:UIControlStateNormal];
[_openButton addTarget:self action:@selector(onOpenButtonClick:) forControlEvents:UIControlEventTouchUpInside];
}
return _openButton;
}
- (UIButton *)closeBtn {
if (!_closeBtn) {
_closeBtn = [[UIButton alloc] init];
[_closeBtn setImage:[UIImage imageNamed:@"pi_red_packet_receive_colse"] forState:UIControlStateNormal];
[_closeBtn addTarget:self action:@selector(onCloseButtonClick:) forControlEvents:UIControlEventTouchUpInside];
}
return _closeBtn;
}
- (UIImageView *)robIcon{
if(!_robIcon){
_robIcon = [UIImageView new];
_robIcon.image = kImage(@"pi_red_packet_receive_rob");
}
return _robIcon;
}
-(UILabel *)robView{
if(!_robView){
_robView = [UILabel labelInitWithText:YMLocalizedString(@"XPReceiveRedPacketView7") font:kFontMedium(14) textColor:UIColorFromRGB(0xBF461F)];
_robView.textAlignment = NSTextAlignmentCenter;
_robView.numberOfLines = 2;
}
return _robView;
}
- (CountDownHelper *)countDownHelper{
if (!_countDownHelper){
_countDownHelper = [[CountDownHelper alloc]init];
_countDownHelper.delegate = self;
}
return _countDownHelper;
}
- (UILabel *)countDownTitleView{
if(!_countDownTitleView){
_countDownTitleView = [UILabel labelInitWithText:YMLocalizedString(@"XPReceiveRedPacketView6") font:kFontMedium(12) textColor:UIColorFromRGB(0xBF461F)];
_countDownTitleView.textAlignment = NSTextAlignmentCenter;
}
return _countDownTitleView;
}
- (UILabel *)countDownView{
if(!_countDownView){
_countDownView = [UILabel labelInitWithText:@"00:00" font:kFontRegular(20) textColor:UIColorFromRGB(0xBF461F)];
_countDownView.textAlignment = NSTextAlignmentCenter;
}
return _countDownView;
}
@end