Files
peko-ios/YuMi/Modules/YMRoom/View/AnimationView/PIRoomGiftBroadcastWindow.m
2024-01-03 16:58:16 +08:00

200 lines
8.3 KiB
Objective-C

//
// PIRoomGiftBroadcastWindow.m
// YuMi
//
// Created by duoban on 2023/10/23.
//
#import "PIRoomGiftBroadcastWindow.h"
@interface PIRoomGiftBroadcastWindow ()
///背景
@property(nonatomic,strong) UIView *bgView;
///标题
@property(nonatomic,strong) UILabel *titleView;
///提示
@property(nonatomic,strong) UILabel *pi_tipsView;
///房间名
@property(nonatomic,strong) UILabel *roomNameView;
///选中
@property(nonatomic,strong) UIButton *pi_selectView;
///选中提示
@property(nonatomic,strong) UILabel *pi_selectTipsView;
///取消
@property(nonatomic,strong) UIButton *pi_cancelBtn;
///确认
@property(nonatomic,strong) UIButton *pi_confirmBtn;
@end
@implementation PIRoomGiftBroadcastWindow
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.backgroundColor = [UIColor colorWithWhite:0 alpha:0.4];
[self addSubview:self.bgView];
[self.bgView addSubview:self.titleView];
[self.bgView addSubview:self.pi_tipsView];
[self.bgView addSubview:self.roomNameView];
[self.bgView addSubview:self.pi_selectView];
[self.bgView addSubview:self.pi_selectTipsView];
[self.bgView addSubview:self.pi_cancelBtn];
[self.bgView addSubview:self.pi_confirmBtn];
}
-(void)installConstraints{
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(319));
make.height.mas_equalTo(kGetScaleWidth(230));
make.center.equalTo(self);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(24));
make.centerX.equalTo(self.bgView);
make.height.mas_equalTo(kGetScaleWidth(20));
}];
[self.pi_tipsView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(68));
make.centerX.equalTo(self.bgView);
make.height.mas_equalTo(kGetScaleWidth(20));
}];
[self.roomNameView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(90));
make.leading.trailing.equalTo(self.bgView).inset(kGetScaleWidth(10));
make.height.mas_equalTo(kGetScaleWidth(20));
}];
[self.pi_selectTipsView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgView.mas_centerX).mas_equalTo(kGetScaleWidth(9));
make.top.mas_equalTo(kGetScaleWidth(124));
make.height.mas_equalTo(kGetScaleWidth(20));
}];
[self.pi_selectView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(14));
make.trailing.equalTo(self.pi_selectTipsView.mas_leading).mas_offset(-kGetScaleWidth(4));
make.centerY.equalTo(self.pi_selectTipsView);
}];
[self.pi_cancelBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(124));
make.height.mas_equalTo(kGetScaleWidth(42));
make.top.mas_equalTo(kGetScaleWidth(164));
make.leading.mas_equalTo(kGetScaleWidth(28));
}];
[self.pi_confirmBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(124));
make.height.mas_equalTo(kGetScaleWidth(42));
make.top.mas_equalTo(kGetScaleWidth(164));
make.trailing.mas_equalTo(-kGetScaleWidth(28));
}];
}
-(void)pi_cancelAction{
[self removeFromSuperview];
}
-(void)selectAction:(UIButton *)sender{
sender.selected = !sender.selected;
if(self.isLuck == YES){
if(sender.selected == YES){
[[NSUserDefaults standardUserDefaults]setValue:@(YES) forKey:@"kSaveLuckSelectState"];
[[NSUserDefaults standardUserDefaults]synchronize];
}else{
[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"kSaveLuckSelectState"];
}
return;
}
if(sender.selected == YES){
[[NSUserDefaults standardUserDefaults]setValue:@(YES) forKey:@"kSaveBrooadcastSelectState"];
[[NSUserDefaults standardUserDefaults]synchronize];
}else{
[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"kSaveBrooadcastSelectState"];
}
}
- (void)setRoomName:(NSString *)roomName{
_roomName = roomName;
self.roomNameView.text = [NSString stringWithFormat:@"“%@”",_roomName];
}
-(void)piConfirmAction{
[self removeFromSuperview];
if(self.delegate && [self.delegate respondsToSelector:@selector(confirmLeaveForTheRoom:)]){
[self.delegate confirmLeaveForTheRoom:self.roodUid];
}
}
#pragma mark - 懒加载
- (UIView *)bgView{
if(!_bgView){
_bgView = [UIView new];
_bgView.backgroundColor = [UIColor whiteColor];
[_bgView setCornerWithLeftTopCorner:kGetScaleWidth(20) rightTopCorner:kGetScaleWidth(20) bottomLeftCorner:kGetScaleWidth(20) bottomRightCorner:kGetScaleWidth(20) size:CGSizeMake(kGetScaleWidth(319), kGetScaleWidth(230))];
}
return _bgView;
}
- (UILabel *)titleView{
if(!_titleView){
_titleView = [UILabel labelInitWithText:YMLocalizedString(@"PIRoomGiftBroadcastWindow0") font:kFontSemibold(18) textColor:UIColorFromRGB(0x1F1B4F)];
_titleView.textAlignment = NSTextAlignmentCenter;
}
return _titleView;
}
- (UILabel *)pi_tipsView{
if(!_pi_tipsView){
_pi_tipsView = [UILabel labelInitWithText:YMLocalizedString(@"PIRoomGiftBroadcastWindow1") font:kFontRegular(14) textColor:UIColorFromRGB(0x1F1B4F)];
_pi_tipsView.textAlignment = NSTextAlignmentCenter;
}
return _pi_tipsView;
}
- (UILabel *)roomNameView{
if(!_roomNameView){
_roomNameView = [UILabel labelInitWithText:YMLocalizedString(@"") font:kFontRegular(14) textColor:UIColorFromRGB(0x9168FA)];
_roomNameView.textAlignment = NSTextAlignmentCenter;
}
return _roomNameView;
}
- (UIButton *)pi_selectView{
if(!_pi_selectView){
_pi_selectView = [UIButton new];
[_pi_selectView setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_pi_selectView setImage:kImage(@"pi_room_gift_broadcast_window_select") forState:UIControlStateSelected];
[_pi_selectView setImage:kImage(@"pi_room_gift_broadcast_window_no_select") forState:UIControlStateNormal];
[_pi_selectView addTarget:self action:@selector(selectAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _pi_selectView;
}
- (UILabel *)pi_selectTipsView{
if(!_pi_selectTipsView){
_pi_selectTipsView = [UILabel labelInitWithText:YMLocalizedString(@"PIRoomGiftBroadcastWindow2") font:kFontRegular(12) textColor:UIColorFromRGB(0xB3B3C3)];
}
return _pi_selectTipsView;
}
- (UIButton *)pi_cancelBtn{
if(!_pi_cancelBtn){
_pi_cancelBtn = [UIButton new];
_pi_cancelBtn.backgroundColor = UIColorFromRGB(0xE6E6F0);
[_pi_cancelBtn setTitle:YMLocalizedString(@"PIRoomGiftBroadcastWindow3") forState:UIControlStateNormal];
_pi_cancelBtn.titleLabel.font = kFontMedium(16);
[_pi_cancelBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_pi_cancelBtn.layer.cornerRadius = kGetScaleWidth(42)/2;
_pi_cancelBtn.layer.masksToBounds = YES;
[_pi_cancelBtn addTarget:self action:@selector(pi_cancelAction) forControlEvents:UIControlEventTouchUpInside];
}
return _pi_cancelBtn;
}
- (UIButton *)pi_confirmBtn{
if(!_pi_confirmBtn){
_pi_confirmBtn = [UIButton new];
UIImage *image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor],[DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(124), kGetScaleWidth(42))];
[_pi_confirmBtn setBackgroundImage:image forState:UIControlStateNormal];
[_pi_confirmBtn setTitle:YMLocalizedString(@"PIRoomGiftBroadcastWindow4") forState:UIControlStateNormal];
_pi_confirmBtn.titleLabel.font = kFontMedium(16);
[_pi_confirmBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_pi_confirmBtn.layer.cornerRadius = kGetScaleWidth(42)/2;
_pi_confirmBtn.layer.masksToBounds = YES;
[_pi_confirmBtn addTarget:self action:@selector(piConfirmAction) forControlEvents:UIControlEventTouchUpInside];
}
return _pi_confirmBtn;
}
@end