137 lines
5.4 KiB
Objective-C
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
|