Files
yinmeng-ios/xplan-ios/Main/Home/View/Mew/MewHomeView/MewHomeSubViews/MewMainHomePartyHeadView.m
2023-12-21 18:42:16 +08:00

137 lines
5.4 KiB
Objective-C

//
// MewMainHomePartyHeadView.m
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MewMainHomePartyHeadView.h"
#import "MewMainHomePartyHeadItemView.h"
#import "MewMainHomePartyHeadHotView.h"
#import <SDCycleScrollView/SDCycleScrollView.h>
@interface MewMainHomePartyHeadView()<SDCycleScrollViewDelegate,MewMainHomePartyHeadItemViewDelegate,MewMainHomePartyHeadHotViewDelegate>
@property(nonatomic,strong) MewMainHomePartyHeadItemView *mewHeadItemView;
@property(nonatomic,strong) MewMainHomePartyHeadHotView *mewHeadHotView;
/// 轮播图
@property (nonatomic, strong) SDCycleScrollView *mewCycleScrollView;
@property(nonatomic,strong) UILabel *mewTitleView;
@end
@implementation MewMainHomePartyHeadView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.backgroundColor = [UIColor clearColor];
[self addSubview:self.mewHeadItemView];
[self addSubview:self.mewHeadHotView];
[self addSubview:self.mewCycleScrollView];
[self addSubview:self.mewTitleView];
}
-(void)installConstraints{
[self.mewHeadItemView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(143));
make.leading.trailing.equalTo(self);
make.top.mas_equalTo(10);
}];
[self.mewHeadHotView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.mewHeadItemView.mas_bottom).mas_offset(kGetScaleWidth(12));
make.height.mas_equalTo(kGetScaleWidth(42));
make.leading.trailing.equalTo(self).inset(kGetScaleWidth(15));
}];
[self.mewCycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.mewHeadHotView.mas_bottom).mas_offset(kGetScaleWidth(12));
make.leading.trailing.equalTo(self).inset(kGetScaleWidth(15));
make.height.mas_equalTo(kGetScaleWidth(80));
}];
[self.mewTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(19));
make.top.equalTo(self.mewCycleScrollView.mas_bottom).mas_offset(kGetScaleWidth(12));
}];
}
- (void)setMewMenuList:(NSArray *)mewMenuList{
_mewMenuList = mewMenuList;
self.mewHeadItemView.mewMenuList = mewMenuList;
}
-(void)setMewGiftRecordList:(NSArray *)mewGiftRecordList{
_mewGiftRecordList = mewGiftRecordList;
self.mewHeadHotView.mewGiftRecordList = _mewGiftRecordList;
}
-(void)setMewBannerArray:(NSArray<MewMainHomeBannerInfoModel *> *)mewBannerArray{
_mewBannerArray = mewBannerArray;
if (_mewBannerArray.count > 0) {
NSMutableArray * list = [NSMutableArray array];
[_mewBannerArray enumerateObjectsUsingBlock:^(MewMainHomeBannerInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if (obj.bannerPic.length > 0) {
[list addObject:obj.bannerPic];
}
}];
if (list.count > 0) {
self.mewCycleScrollView.imageURLStringsGroup = list;
[self.mewCycleScrollView autoScroll];
}
}
}
#pragma mark- MewMainHomePartyHeadItemViewDelegate
- (void)mew_clickMainHomeHeadItemViewMenu:(MewMainHomeMenuInfoModel *_Nullable)info{
if(self.delegate && [self.delegate respondsToSelector:@selector(mew_clickMainHomeHeadViewMenu:)]){
[self.delegate mew_clickMainHomeHeadViewMenu:info];
};
}
#pragma mark- MewMainHomePartyHeadHotViewDelegate
- (void)mew_clickMainHomeHeadHotScrollView:(MewMainHomeGiftRecordModel *_Nullable)model{
if(self.delegate && [self.delegate respondsToSelector:@selector(mew_clickMainHomeHeadScrollView:)]){
[self.delegate mew_clickMainHomeHeadScrollView:model];
}
}
#pragma mark - SDCycleScrollViewDelegate
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index {
MewMainHomeBannerInfoModel * bannerInfo = [self.mewBannerArray safeObjectAtIndex1:index];
if (self.delegate && [self.delegate respondsToSelector:@selector(mewClickBannerAction:)]) {
[self.delegate mewClickBannerAction:bannerInfo];
}
}
#pragma mark - 懒加载
- (MewMainHomePartyHeadItemView *)mewHeadItemView{
if(!_mewHeadItemView){
_mewHeadItemView = [[MewMainHomePartyHeadItemView alloc]initWithFrame:CGRectZero];
_mewHeadItemView.delegate = self;
}
return _mewHeadItemView;
}
- (MewMainHomePartyHeadHotView *)mewHeadHotView{
if(!_mewHeadHotView){
_mewHeadHotView = [[MewMainHomePartyHeadHotView alloc]initWithFrame:CGRectZero];
_mewHeadHotView.delegate = self;
}
return _mewHeadHotView;
}
- (SDCycleScrollView *)mewCycleScrollView {
if (!_mewCycleScrollView) {
_mewCycleScrollView = [[SDCycleScrollView alloc] init];
_mewCycleScrollView.backgroundColor = [UIColor clearColor];
_mewCycleScrollView.layer.cornerRadius = kGetScaleWidth(10);
_mewCycleScrollView.layer.masksToBounds = YES;
_mewCycleScrollView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill;
_mewCycleScrollView.delegate = self;
_mewCycleScrollView.showPageControl = YES;
_mewCycleScrollView.autoScrollTimeInterval = 5.0;
_mewCycleScrollView.tag = 9999;
}
return _mewCycleScrollView;
}
- (UILabel *)mewTitleView{
if(!_mewTitleView){
_mewTitleView = [UILabel labelInitWithText:@"热门推荐" font:kFontMedium(16) textColor:UIColorFromRGB(0x2B2D33)];
}
return _mewTitleView;
}
@end