200 lines
8.3 KiB
Objective-C
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
|