Files
peko-ios/YuMi/Modules/YMRoom/View/RoomGame/View/SubView/MSTabbarBeginGameView.m
2024-06-04 18:10:45 +08:00

181 lines
6.6 KiB
Objective-C

//
// MSTabbarBeginGameView.m
// YuMi
//
// Created by duoban on 2024/5/27.
//
#import "MSTabbarBeginGameView.h"
@interface MSTabbarBeginGameView()
@property(nonatomic,strong) UIImageView *bgImageView;
@property(nonatomic,strong) UIImageView *bgSubImageView;
@property(nonatomic,strong) UIView *bgCoinView;
@property(nonatomic,strong) UIImageView *coinImageView;
@property(nonatomic,strong) UILabel *coinNumView;
@property(nonatomic,strong) UIButton *beginBtn;
@property(nonatomic,strong) UIButton *ruleBtn;
@property(nonatomic,strong) UILabel *titleView;
@property(nonatomic,strong) UIButton *backBtn;
@end
@implementation MSTabbarBeginGameView
-(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.6];
[self addSubview:self.backBtn];
[self addSubview:self.bgImageView];
[self.bgImageView addSubview:self.titleView];
[self.bgImageView addSubview:self.ruleBtn];
[self.bgImageView addSubview:self.bgSubImageView];
[self.bgSubImageView addSubview:self.bgCoinView];
[self.bgCoinView addSubview:self.coinImageView];
[self.bgCoinView addSubview:self.coinNumView];
[self.bgSubImageView addSubview:self.beginBtn];
}
-(void)installConstraints{
[self.backBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.equalTo(self);
make.height.mas_equalTo(kGetScaleWidth(252));
}];
[self.ruleBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(32));
make.top.mas_equalTo(kGetScaleWidth(21));
make.trailing.mas_equalTo(-kGetScaleWidth(21));
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.ruleBtn);
make.centerX.equalTo(self.bgImageView);
}];
[self.bgSubImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(348));
make.height.mas_equalTo(kGetScaleWidth(162));
make.top.mas_equalTo(kGetScaleWidth(69));
make.centerX.equalTo(self.bgImageView);
}];
[self.bgCoinView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(44));
make.width.mas_equalTo(kGetScaleWidth(297));
make.top.mas_equalTo(kGetScaleWidth(20));
make.centerX.equalTo(self.bgSubImageView);
}];
[self.coinNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.bgCoinView);
make.centerX.equalTo(self.bgCoinView).offset(kGetScaleWidth(14));
}];
[self.coinImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(22));
make.centerY.equalTo(self.coinNumView);
make.trailing.equalTo(self.coinNumView.mas_leading).mas_offset(-kGetScaleWidth(6));
}];
[self.beginBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(55));
make.width.mas_equalTo(kGetScaleWidth(205));
make.centerX.equalTo(self.bgSubImageView);
make.top.mas_equalTo(kGetScaleWidth(91));
}];
}
-(void)backBtnAction{
[self removeFromSuperview];
}
-(void)beginGameAction{
[self backBtnAction];
if(self.delegate && [self.delegate respondsToSelector:@selector(startMatchGameActionWithModel:)]){
[self.delegate startMatchGameActionWithModel:self.itemModel];
}
}
- (void)setItemModel:(MSTabbarRoomGameItemModel *)itemModel{
_itemModel = itemModel;
_coinNumView.text = _itemModel.ticket;
_titleView.text = [NSString stringWithFormat:YMLocalizedString(@"MSRoomGameHeadView4"),_itemModel.modeName];
}
-(void)ruleBtnAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(clickRuleActionWithModel:)]){
[self.delegate clickRuleActionWithModel:self.itemModel];
}
}
#pragma mark - 懒加载
- (UIImageView *)bgImageView{
if(!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.image = kImage(@"ms_room_game_begin_bg");
_bgImageView.userInteractionEnabled = YES;
}
return _bgImageView;
}
- (UIImageView *)bgSubImageView{
if(!_bgSubImageView){
_bgSubImageView = [UIImageView new];
_bgSubImageView.image = kImage(@"ms_room_game_sub_begin_bg");
_bgSubImageView.userInteractionEnabled = YES;
}
return _bgSubImageView;
}
- (UIView *)bgCoinView{
if(!_bgCoinView){
_bgCoinView = [UIView new];
_bgCoinView.backgroundColor = UIColorFromRGB(0x00757B);
_bgCoinView.layer.cornerRadius = kGetScaleWidth(8);
_bgCoinView.layer.masksToBounds = YES;
}
return _bgCoinView;
}
- (UIImageView *)coinImageView{
if(!_coinImageView){
_coinImageView = [UIImageView new];
_coinImageView.image = kImage(@"ms_room_game_begin_coin");
}
return _coinImageView;
}
- (UILabel *)coinNumView{
if(!_coinNumView){
_coinNumView = [UILabel labelInitWithText:@"0" font:kFontBold(18) textColor:UIColorFromRGB(0xF2EF25)];
}
return _coinNumView;
}
- (UIButton *)beginBtn{
if(!_beginBtn){
_beginBtn = [UIButton new];
[_beginBtn setBackgroundImage:kImage(@"ms_room_game_begin_btn_bg") forState:UIControlStateNormal];
[_beginBtn setTitle:YMLocalizedString(@"MSTabbarBeginGameView0") forState:UIControlStateNormal];
[_beginBtn setTitleColor:UIColorFromRGB(0xA75906) forState:UIControlStateNormal];
_beginBtn.titleLabel.font = kFontBold(20);
[_beginBtn addTarget:self action:@selector(beginGameAction) forControlEvents:UIControlEventTouchUpInside];
}
return _beginBtn;
}
- (UIButton *)ruleBtn{
if(!_ruleBtn){
_ruleBtn = [UIButton new];
[_ruleBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_ruleBtn setBackgroundImage:kImage(@"ms_room_game_begin_rule_icon") forState:UIControlStateNormal];
[_ruleBtn addTarget:self action:@selector(ruleBtnAction) forControlEvents:UIControlEventTouchUpInside];
}
return _ruleBtn;
}
- (UILabel *)titleView{
if(!_titleView){
_titleView = [UILabel labelInitWithText:@"" font:kFontBold(18) textColor:[UIColor whiteColor]];
}
return _titleView;
}
- (UIButton *)backBtn{
if(!_backBtn){
_backBtn = [UIButton new];
[_backBtn addTarget:self action:@selector(backBtnAction) forControlEvents:UIControlEventTouchUpInside];
}
return _backBtn;
}
@end