// // XPRoomSendRedPacketViewController.m // xplan-ios // // Created by GreenLand on 2022/8/31. // #import "XPRoomSendRedPacketViewController.h" ///tool #import #import "ThemeColor.h" #import "ThemeColor+NobleCenter.h" #import "XPMacro.h" #import "XCHUDTool.h" #import "TTPopUp.h" #import "XPHtmlUrl.h" ///Third #import #import "UIImage+Utils.h" ///view #import "XPRoomRedPacketPwdView.h" #import "XPMinePayPwdViewController.h" #import "BaseNavigationController.h" #import "XPMineRechargeViewController.h" #import "XPRoomHalfWebView.h" #import "XPMineVerifIdentityViewController.h" ///P #import "XPRoomRedPacketPresenter.h" #import "XPRoomRedPacketProtocol.h" ///model #import "WalletInfoModel.h" #import "RoomInfoModel.h" #import "UserInfoModel.h" @interface XPRoomSendRedPacketViewController () ///host代理 @property (nonatomic,weak) idhostDelegate; ///上面点击的view @property (nonatomic,strong) UIView *topTapView; ///下面点击的view @property (nonatomic,strong) UIView *bottomTapView; ///中间内容的容器 @property (nonatomic,strong) UIImageView *backView; ///厅内红包 @property (nonatomic, strong) UIButton *roomButton; ///全服红包 @property (nonatomic, strong) UIButton *allServerButton; ///选中类型指示器 @property (nonatomic, strong) UIView *typeView; ///红包个数容器 @property (nonatomic, strong) UIView *packetContentView; ///红包数量标题 @property (nonatomic, strong) UILabel *packetTitle; ///红包数量输入框 @property (nonatomic, strong) UITextField *packetTextField; ///红包数量单位 @property (nonatomic, strong) UILabel *packetUnit; ///总钻石数容器 @property (nonatomic, strong) UIView *diamondContentView; ///钻石数量标题 @property (nonatomic, strong) UILabel *diamondTitle; ///钻石数量输入框 @property (nonatomic, strong) UITextField *diamondTextField; ///钻石数量单位 @property (nonatomic, strong) UILabel *diamondUnit; ///红包数量描述 @property (nonatomic,strong) UILabel *countDesc; ///输入框背景 @property (nonatomic, strong) UIView *descContentView; ///广播输入框 @property (nonatomic,strong) UITextView *wishTextView; ///祝福语palceHolder @property (nonatomic, strong) UILabel *wishPlaceHolderLabel; ///红包数量描述 @property (nonatomic,strong) UILabel *wishCountLabel; ///祝福语描述 @property (nonatomic, strong) UILabel *wishDesc; ///发布按钮 @property (nonatomic, strong) UIButton *releaseButton; ///钻石图标 @property (nonatomic, strong) UIImageView *diamondImage; ///钱包中钻石数量 @property (nonatomic,strong) UILabel *walletDiamondLabel; ///充值按钮 @property (nonatomic, strong) UIButton *rechargeButton; ///规则按钮 @property (nonatomic, strong) UIButton *ruleButton; ///关闭按钮 @property (nonatomic, strong) UIButton *closeButton; @end @implementation XPRoomSendRedPacketViewController - (instancetype)initWithDelegate:(id)delegate { if (self = [super init]) { self.hostDelegate = delegate; } return self; } - (XPRoomRedPacketPresenter *)createPresenter { return [[XPRoomRedPacketPresenter alloc] init]; } - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor clearColor]; self.navigationController.view.backgroundColor = [UIColor clearColor]; [self.navigationController setNavigationBarHidden:YES]; [self initSubViews]; [self initSubViewConstraints]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onTextViewChange:) name:UITextViewTextDidChangeNotification object:nil]; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.presenter getUserWalletInfo]; } - (BOOL)isHiddenNavBar { return YES; } #pragma mark - Private Method - (void)initSubViews { self.view.backgroundColor = [UIColor clearColor]; [self.view addSubview:self.topTapView]; [self.view addSubview:self.backView]; [self.view addSubview:self.bottomTapView]; [self.backView addSubview:self.roomButton]; [self.backView addSubview:self.allServerButton]; [self.backView addSubview:self.typeView]; [self.backView addSubview:self.packetContentView]; [self.packetContentView addSubview:self.packetTitle]; [self.packetContentView addSubview:self.packetTextField]; [self.packetContentView addSubview:self.packetUnit]; [self.backView addSubview:self.diamondContentView]; [self.diamondContentView addSubview:self.diamondTitle]; [self.diamondContentView addSubview:self.diamondTextField]; [self.diamondContentView addSubview:self.diamondUnit]; [self.backView addSubview:self.countDesc]; [self.backView addSubview:self.descContentView]; [self.backView addSubview:self.wishTextView]; [self.backView addSubview:self.wishPlaceHolderLabel]; [self.backView addSubview:self.wishCountLabel]; [self.backView addSubview:self.wishDesc]; [self.backView addSubview:self.releaseButton]; [self.backView addSubview:self.diamondImage]; [self.backView addSubview:self.walletDiamondLabel]; [self.backView addSubview:self.rechargeButton]; [self.backView addSubview:self.ruleButton]; [self.view addSubview:self.closeButton]; } - (void)initSubViewConstraints { [self.topTapView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.left.right.mas_equalTo(self.view); make.bottom.mas_equalTo(self.backView.mas_top); }]; [self.backView mas_makeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(310); make.height.mas_equalTo(450); make.centerY.centerX.mas_equalTo(self.view); }]; [self.bottomTapView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.mas_equalTo(self.view); make.top.mas_equalTo(self.backView.mas_bottom); make.bottom.mas_equalTo(self.view); }]; [self.roomButton mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(self.backView.mas_centerX).mas_offset(-17); make.top.mas_equalTo(self.backView).offset(65); make.height.mas_equalTo(18); make.width.mas_equalTo(80); }]; [self.allServerButton mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(self.roomButton); make.height.mas_equalTo(18); make.width.mas_equalTo(80); make.left.mas_equalTo(self.backView.mas_centerX).mas_offset(17); }]; [self.typeView mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.mas_equalTo(self.roomButton); make.top.mas_equalTo(self.roomButton.mas_bottom).mas_offset(5); make.width.mas_equalTo(8); make.height.mas_equalTo(2); }]; [self.packetContentView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(self.roomButton.mas_bottom).mas_offset(32); make.centerX.mas_equalTo(self.backView); make.left.mas_equalTo(self.backView).mas_offset(30); make.height.mas_equalTo(30); }]; [self.packetTitle mas_makeConstraints:^(MASConstraintMaker *make) { make.top.centerY.mas_equalTo(self.packetContentView); make.left.mas_equalTo(15); }]; [self.packetTitle setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal]; [self.packetTextField mas_makeConstraints:^(MASConstraintMaker *make) { make.top.centerY.mas_equalTo(self.packetContentView); make.left.mas_equalTo(self.packetTitle.mas_right).mas_offset(4); make.right.mas_equalTo(self.packetUnit.mas_left).mas_offset(-5); }]; [self.packetUnit mas_makeConstraints:^(MASConstraintMaker *make) { make.top.centerY.mas_equalTo(self.packetContentView); make.right.mas_equalTo(self.packetContentView).mas_offset(-15); make.width.mas_equalTo(12); }]; [self.diamondContentView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(self.packetContentView.mas_bottom).mas_offset(20); make.centerX.mas_equalTo(self.backView); make.left.mas_equalTo(self.packetContentView); make.height.mas_equalTo(30); }]; [self.diamondTitle mas_makeConstraints:^(MASConstraintMaker *make) { make.top.centerY.mas_equalTo(self.diamondContentView); make.left.mas_equalTo(15); }]; [self.diamondTitle setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal]; [self.diamondTextField mas_makeConstraints:^(MASConstraintMaker *make) { make.top.centerY.mas_equalTo(self.diamondContentView); make.left.mas_equalTo(self.diamondTitle.mas_right).mas_offset(4); make.right.mas_equalTo(self.diamondUnit.mas_left).mas_offset(-5); }]; [self.diamondUnit mas_makeConstraints:^(MASConstraintMaker *make) { make.top.centerY.mas_equalTo(self.diamondContentView); make.right.mas_equalTo(self.diamondContentView).mas_offset(-12); make.width.mas_equalTo(26); }]; [self.countDesc mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.mas_equalTo(self.backView); make.top.mas_equalTo(self.diamondContentView.mas_bottom).mas_offset(5); make.height.mas_equalTo(11); }]; [self.descContentView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.mas_equalTo(self.backView).inset(40); make.top.mas_equalTo(self.countDesc.mas_bottom).mas_offset(27); make.height.mas_equalTo(70); }]; [self.wishTextView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.mas_equalTo(self.backView).inset(60); make.centerY.mas_equalTo(self.descContentView); make.height.mas_equalTo(17); }]; [self.wishPlaceHolderLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.centerY.mas_equalTo(self.descContentView); }]; [self.wishCountLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.right.bottom.mas_equalTo(self.descContentView).inset(5); make.height.mas_equalTo(10); }]; [self.wishDesc mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.mas_equalTo(self.backView); make.top.mas_equalTo(self.descContentView.mas_bottom).mas_offset(7); make.height.mas_equalTo(10); }]; [self.releaseButton mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(self.wishDesc.mas_bottom).mas_offset(28); make.centerX.mas_equalTo(self.backView); make.width.mas_equalTo(150); make.height.mas_equalTo(34); }]; [self.diamondImage mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(self.releaseButton.mas_bottom).mas_offset(16); make.left.mas_equalTo(self.backView).mas_offset(42);; make.width.height.mas_equalTo(20); }]; [self.walletDiamondLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.diamondImage.mas_right).mas_offset(5); make.centerY.mas_equalTo(self.diamondImage); }]; [self.rechargeButton mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(self.backView).mas_offset(-42); make.centerY.mas_equalTo(self.diamondImage); }]; [self.ruleButton mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(self.backView).mas_offset(-23); make.top.mas_equalTo(13); make.width.height.mas_equalTo(30); }]; [self.closeButton mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.mas_equalTo(self.view); make.top.mas_equalTo(self.backView.mas_bottom).mas_offset(20); make.width.height.mas_equalTo(35); }]; } - (void)onReleaseButtonClick:(UIButton *)button { //判断红包数量 NSInteger packetCount = [self.packetTextField.text integerValue]; if (packetCount > 100 || packetCount < 1) { [self showErrorToast:@"红包数量不能小于1或大于100!"]; return; } //判断钻石数量 NSInteger diamonCount = [self.diamondTextField.text integerValue]; if (diamonCount > 999999 || diamonCount < 100) { [self showErrorToast:@"钻石数量不能小于100或大于999999!"]; return; } if (diamonCount % 10 != 0) { [self showErrorToast:@"钻石数必须为10的倍数!"]; return; } [self.presenter getUserModel]; } #pragma mark - XPRoomRedPacketProtocol - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [self.view endEditing:YES]; } ///获取用户钱包信息成功 - (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo { self.walletDiamondLabel.text = balanceInfo.diamonds; } ///获取用户信息成功 - (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo { if (userInfo.isBindPaymentPwd) { XPRoomRedPacketPwdView *pwdView = [[XPRoomRedPacketPwdView alloc] init]; pwdView.diamonCount = self.diamondTextField.text; pwdView.delegate = self; [TTPopup popupView:pwdView style:TTPopupStyleAlert]; } else { XPMinePayPwdViewController *vc = [[XPMinePayPwdViewController alloc] init]; vc.userInfo = userInfo; [self.navigationController pushViewController:vc animated:YES]; } } ///发送红包成功 - (void)sendRedPacketSuccess { [self showSuccessToast:@"发送成功"]; [self dismissViewControllerAnimated:YES completion:nil]; } #pragma mark - XPRoomRedPacketPwdViewDelegate - (void)xPRoomRedPacketPwdViewPwdComplete:(NSString *)pwd { [TTPopup dismiss]; NSString *roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid]; NSNumber *type = self.roomButton.isSelected ? @(1) : @(2); NSString *message = self.wishTextView.text.length ? self.wishTextView.text : @"恭喜发财,大吉大利!"; [self.presenter sendRedPacketWithNum:self.packetTextField.text goldNum:self.diamondTextField.text roomUid:roomUid type:type password:pwd message:message]; } - (void)xPRoomRedPacketPwdViewPwdForgetBtnClick { XPMineVerifIdentityViewController * VC = [[XPMineVerifIdentityViewController alloc] init]; VC.userInfo = self.hostDelegate.getUserInfo; [self.navigationController pushViewController:VC animated:YES]; } #pragma mark - Event Response - (void)dismissTapRecognizer:(UITapGestureRecognizer *)tap { [self dismissViewControllerAnimated:YES completion:nil]; } #pragma mark - private - (void)onRoomButtonClick:(UIButton *)sender { self.roomButton.selected = YES; self.allServerButton.selected = NO; [self.typeView mas_remakeConstraints:^(MASConstraintMaker *make) { make.centerX.mas_equalTo(self.roomButton); make.top.mas_equalTo(self.roomButton.mas_bottom).mas_offset(4); make.width.mas_equalTo(8); make.height.mas_equalTo(2); }]; NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc]initWithString:@"1-100" attributes:@{NSForegroundColorAttributeName: UIColorRGBAlpha(0xffffff, 0.3)}]; self.packetTextField.attributedPlaceholder = attrString; self.countDesc.text = @"红包总金额不低于100钻石,且必须为10的倍数"; } - (void)onAllServerButtonClick:(UIButton *)sender { self.allServerButton.selected = YES; self.roomButton.selected = NO; [self.typeView mas_remakeConstraints:^(MASConstraintMaker *make) { make.centerX.mas_equalTo(self.allServerButton); make.top.mas_equalTo(self.roomButton.mas_bottom).mas_offset(4); make.width.mas_equalTo(8); make.height.mas_equalTo(2); }]; NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc]initWithString:@"2-500" attributes:@{NSForegroundColorAttributeName: UIColorRGBAlpha(0xffffff, 0.3)}]; self.packetTextField.attributedPlaceholder = attrString; self.countDesc.text = @"红包总金额不低于1000钻石,且必须为100的倍数"; } - (void)onRechargeButtonClick:(UIButton *)sender { XPMineRechargeViewController *rechargeVC = [[XPMineRechargeViewController alloc] init]; [self.navigationController pushViewController:rechargeVC animated:YES]; } - (void)onRuleButtonClick:(UIButton *)sender { XPRoomHalfWebView * webView = [[XPRoomHalfWebView alloc] init]; webView.url = URLWithType(kRedPacketRuleURL); TTPopupService * config = [[TTPopupService alloc] init]; config.contentView = webView; [TTPopup popupWithConfig:config]; } - (void)onCloseButtonClick:(UIButton *)sender { [self dismissViewControllerAnimated:YES completion:nil]; } #pragma mark - YYTextViewDelegate - (void)textViewDidChange:(YYTextView *)textView { NSInteger maxLength = 20; if (textView.text.length > maxLength) { textView.text = [textView.text substringToIndex:maxLength]; } self.wishCountLabel.text = [NSString stringWithFormat:@"%zd/%ld", textView.text.length, maxLength]; } - (void)onTextViewChange:(NSNotification *)noti { NSInteger maxLength = 20; if (self.wishTextView.text.length > maxLength) { self.wishTextView.text = [self.wishTextView.text substringToIndex:maxLength]; } if (self.wishTextView.text.length > 0) { self.wishPlaceHolderLabel.hidden = YES; [self.wishTextView mas_remakeConstraints:^(MASConstraintMaker *make) { make.left.right.mas_equalTo(self.backView).inset(60); make.centerY.mas_equalTo(self.descContentView); make.height.mas_equalTo(42); }]; } else { self.wishPlaceHolderLabel.hidden = NO; [self.wishTextView mas_remakeConstraints:^(MASConstraintMaker *make) { make.left.right.mas_equalTo(self.backView).inset(60); make.centerY.mas_equalTo(self.descContentView); make.height.mas_equalTo(17); }]; } self.wishCountLabel.text = [NSString stringWithFormat:@"%zd/%ld", self.wishTextView.text.length, maxLength]; } #pragma mark - Getters And Setters - (UIView *)topTapView { if (!_topTapView) { _topTapView = [[UIView alloc] init]; _topTapView.backgroundColor = [UIColor clearColor]; UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissTapRecognizer:)]; [_topTapView addGestureRecognizer:tap]; } return _topTapView; } - (UIView *)bottomTapView { if (!_bottomTapView) { _bottomTapView = [[UIView alloc] init]; _bottomTapView.backgroundColor = [UIColor clearColor]; UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissTapRecognizer:)]; [_bottomTapView addGestureRecognizer:tap]; } return _bottomTapView; } - (UIImageView *)backView { if (!_backView) { _backView = [[UIImageView alloc] init]; _backView.userInteractionEnabled = YES; _backView.image = [UIImage imageNamed:@"send_redpacket_bg"]; } return _backView; } - (UIButton *)roomButton { if (!_roomButton) { _roomButton = [[UIButton alloc] init]; [_roomButton setTitle:@"厅内红包" forState:UIControlStateNormal]; [_roomButton setTitleColor:UIColorRGBAlpha(0xffffff, 0.5) forState:UIControlStateNormal]; [_roomButton setTitleColor:UIColorRGBAlpha(0xffffff, 1) forState:UIControlStateSelected]; [_roomButton addTarget:self action:@selector(onRoomButtonClick:) forControlEvents:UIControlEventTouchUpInside]; _roomButton.selected = YES; _roomButton.titleLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightMedium]; } return _roomButton; } - (UIButton *)allServerButton { if (!_allServerButton) { _allServerButton = [[UIButton alloc] init]; [_allServerButton setTitle:@"全服红包" forState:UIControlStateNormal]; [_allServerButton setTitleColor:UIColorRGBAlpha(0xffffff, 0.5) forState:UIControlStateNormal]; [_allServerButton setTitleColor:UIColorRGBAlpha(0xffffff, 1) forState:UIControlStateSelected]; [_allServerButton addTarget:self action:@selector(onAllServerButtonClick:) forControlEvents:UIControlEventTouchUpInside]; _allServerButton.titleLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightMedium]; } return _allServerButton; } - (UIView *)typeView { if (!_typeView) { _typeView = [[UIView alloc] init]; _typeView.backgroundColor = [UIColor whiteColor]; _typeView.layer.cornerRadius = 1; _typeView.layer.masksToBounds = YES; } return _typeView; } - (UIView *)packetContentView { if (!_packetContentView) { _packetContentView = [[UIView alloc] init]; _packetContentView.backgroundColor = UIColorFromRGB(0xCC2247); _packetContentView.layer.cornerRadius = 15; _packetContentView.layer.masksToBounds = YES; } return _packetContentView; } - (UILabel *)packetTitle { if (!_packetTitle) { UILabel *label = [[UILabel alloc] init]; label.text = @"红包个数"; label.font = [UIFont systemFontOfSize:12]; label.textColor = UIColorRGBAlpha(0xffffff, 0.5); _packetTitle = label; } return _packetTitle; } - (UITextField *)packetTextField { if (!_packetTextField) { UITextField *label = [[UITextField alloc] init]; label.keyboardType = UIKeyboardTypeNumberPad; label.textAlignment = NSTextAlignmentRight; NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc]initWithString:@"1-100" attributes:@{NSForegroundColorAttributeName: UIColorRGBAlpha(0xffffff, 0.5)}]; label.attributedPlaceholder = attrString; label.textColor = [UIColor whiteColor]; label.font = [UIFont systemFontOfSize:15 weight:UIFontWeightMedium]; _packetTextField = label; } return _packetTextField; } - (UILabel *)packetUnit { if (!_packetUnit) { UILabel *label = [[UILabel alloc] init]; label.text = @"个"; label.font = [UIFont systemFontOfSize:12]; label.textColor = UIColorRGBAlpha(0xffffff, 0.5); _packetUnit = label; } return _packetUnit; } - (UIView *)diamondContentView { if (!_diamondContentView) { _diamondContentView = [[UIView alloc] init]; _diamondContentView.backgroundColor = UIColorFromRGB(0xCC2247); _diamondContentView.layer.cornerRadius = 15; _diamondContentView.layer.masksToBounds = YES; } return _diamondContentView; } - (UILabel *)diamondTitle { if (!_diamondTitle) { UILabel *label = [[UILabel alloc] init]; label.text = @"总钻石数"; label.font = [UIFont systemFontOfSize:12]; label.textColor = UIColorRGBAlpha(0xffffff, 0.5); _diamondTitle = label; } return _diamondTitle; } - (UITextField *)diamondTextField { if (!_diamondTextField) { UITextField *label = [[UITextField alloc] init]; label.keyboardType = UIKeyboardTypeNumberPad; label.textAlignment = NSTextAlignmentRight; NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc]initWithString:@"0" attributes:@{NSForegroundColorAttributeName: UIColorRGBAlpha(0xffffff, 0.5)}]; label.attributedPlaceholder = attrString; label.textColor = [UIColor whiteColor]; label.font = [UIFont systemFontOfSize:15 weight:UIFontWeightMedium]; _diamondTextField = label; } return _diamondTextField; } - (UILabel *)diamondUnit { if (!_diamondUnit) { UILabel *label = [[UILabel alloc] init]; label.text = @"钻石"; label.font = [UIFont systemFontOfSize:12]; label.textColor = UIColorRGBAlpha(0xffffff, 0.5); _diamondUnit = label; } return _diamondUnit; } - (UILabel *)countDesc { if (!_countDesc) { UILabel *label = [[UILabel alloc] init]; label.text = @"红包总金额不低于100钻石,且必须为10的倍数"; label.font = [UIFont systemFontOfSize:11]; label.textColor = [UIColor whiteColor]; _countDesc = label; } return _countDesc; } - (UIView *)descContentView { if (!_descContentView) { _descContentView = [[UIView alloc] init]; _descContentView.backgroundColor = UIColorRGBAlpha(0xCC2247, 0.6); _descContentView.layer.cornerRadius = 8; _descContentView.layer.masksToBounds = YES; } return _descContentView; } - (UITextView *)wishTextView { if (!_wishTextView) { _wishTextView = [[UITextView alloc] init]; _wishTextView.layer.cornerRadius = 8; _wishTextView.layer.masksToBounds = YES; _wishTextView.backgroundColor = [UIColor clearColor]; _wishTextView.showsVerticalScrollIndicator = NO; _wishTextView.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium]; _wishTextView.textColor = [UIColor whiteColor]; _wishTextView.textAlignment = NSTextAlignmentCenter; } return _wishTextView; } - (UIButton *)releaseButton { if (!_releaseButton) { _releaseButton = [[UIButton alloc] init]; [_releaseButton setTitleColor:[ThemeColor confirmButtonTextColor] forState:UIControlStateNormal]; [_releaseButton setBackgroundImage:[UIImage imageNamed:@"send_redPacket_button"] forState:UIControlStateNormal]; [_releaseButton addTarget:self action:@selector(onReleaseButtonClick:) forControlEvents:UIControlEventTouchUpInside]; } return _releaseButton; } - (UILabel *)wishDesc { if (!_wishDesc) { _wishDesc = [[UILabel alloc] init]; _wishDesc.text = @"未抢完的红包将在30分钟后返还你的钱包"; _wishDesc.font = [UIFont systemFontOfSize:10]; _wishDesc.textColor = UIColorRGBAlpha(0xffffff, 0.5); } return _wishDesc; } - (UILabel *)wishCountLabel { if (!_wishCountLabel) { UILabel *label = [[UILabel alloc] init]; label.text = @"0/20"; label.font = [UIFont systemFontOfSize:10]; label.textColor = UIColorFromRGB(0xFF8C9D); _wishCountLabel = label; } return _wishCountLabel; } - (UIImageView *)diamondImage { if (!_diamondImage) { _diamondImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"common_diamond"]]; } return _diamondImage; } - (UILabel *)walletDiamondLabel { if (!_walletDiamondLabel) { _walletDiamondLabel = [[UILabel alloc] init]; _walletDiamondLabel.textColor = [UIColor whiteColor]; _walletDiamondLabel.font = [UIFont systemFontOfSize:15 weight:UIFontWeightMedium]; } return _walletDiamondLabel; } - (UILabel *)wishPlaceHolderLabel { if (!_wishPlaceHolderLabel) { UILabel *label = [[UILabel alloc] init]; label.text = @"恭喜发财,大吉大利!"; label.font = [UIFont systemFontOfSize:16]; label.textColor = UIColorRGBAlpha(0xffffff, 0.5); _wishPlaceHolderLabel = label; } return _wishPlaceHolderLabel; } - (UIButton *)rechargeButton { if (!_rechargeButton) { _rechargeButton = [[UIButton alloc] init]; [_rechargeButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; [_rechargeButton addTarget:self action:@selector(onRechargeButtonClick:) forControlEvents:UIControlEventTouchUpInside]; NSMutableAttributedString *title = [[NSMutableAttributedString alloc] initWithString:@"充值钻石"]; NSRange titleRange = {0,[title length]}; [title addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:titleRange]; [_rechargeButton setAttributedTitle:title forState:UIControlStateNormal]; _rechargeButton.titleLabel.font = [UIFont systemFontOfSize:13]; } return _rechargeButton; } - (UIButton *)ruleButton { if (!_ruleButton) { _ruleButton = [[UIButton alloc] init]; [_ruleButton addTarget:self action:@selector(onRuleButtonClick:) forControlEvents:UIControlEventTouchUpInside]; [_ruleButton setImage:[UIImage imageNamed:@"send_redPacket_help"] forState:UIControlStateNormal]; } return _ruleButton; } - (UIButton *)closeButton { if (!_closeButton) { _closeButton = [[UIButton alloc] init]; [_closeButton addTarget:self action:@selector(onCloseButtonClick:) forControlEvents:UIControlEventTouchUpInside]; [_closeButton setImage:[UIImage imageNamed:@"common_close_white"] forState:UIControlStateNormal]; } return _closeButton; } @end