优化个播房主播头像

This commit is contained in:
eggmanQQQ
2024-10-29 17:14:38 +08:00
parent 0e00f4df11
commit cd93cc1024
7 changed files with 234 additions and 54 deletions

View File

@@ -73,6 +73,9 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
@property(nonatomic,assign) BOOL isCheckIp;
@property(nonatomic,assign) NSInteger type;
@property(nonatomic,strong) NSMutableDictionary *validListDict;
@property (nonatomic, copy) NSArray<HomeBannerInfoModel *> *bannerInfoList;
@end
@implementation XPNewHomeViewController
@@ -195,6 +198,18 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
PIHomeCategoryTitleModel *tagModel = [self.tagModelList xpSafeObjectAtIndex:self.type];
XPHomePartyViewController *homeVC = [self.validListDict objectForKey:[NSNumber numberWithInteger:self.type]];
homeVC.tagModel = tagModel;
homeVC.bannerInfoList = self.bannerInfoList;
@kWeakify(self);
[homeVC setDidTapBannerItem:^(HomeBannerInfoModel * _Nonnull itemModel) {
@kStrongify(self);
[self handleTapBannerItem:itemModel];
}];
@kWeakify(homeVC);
[homeVC setLoadBannerInfo:^{
@kStrongify(self);
@kStrongify(homeVC);
homeVC.bannerInfoList = self.bannerInfoList;
}];
}
-(void)openRoomNotification:(NSNotification *)notification{
@@ -316,7 +331,19 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
return homeV;
}
XPHomePartyViewController *homeVC = [[XPHomePartyViewController alloc] init];
homeVC.bannerInfoList = self.bannerInfoList;
homeVC.tagModel = [self.tagModelList xpSafeObjectAtIndex:index];
@kWeakify(self);
[homeVC setDidTapBannerItem:^(HomeBannerInfoModel * _Nonnull itemModel) {
@kStrongify(self);
[self handleTapBannerItem:itemModel];
}];
@kWeakify(homeVC);
[homeVC setLoadBannerInfo:^{
@kStrongify(self);
@kStrongify(homeVC);
homeVC.bannerInfoList = self.bannerInfoList;
}];
[self.validListDict setObject:homeVC forKey:@(index)];
return homeVC;
}
@@ -350,6 +377,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
- (void)getHomeTopDataSuccess:(NSArray*)list menuList:(NSArray *)memuList{
self.headView.itemList = memuList;
self.headView.bannerList = list;
self.bannerInfoList = list;
[self.pagingView reloadData];
[self.pagingView resizeTableHeaderViewHeightWithAnimatable:NO duration:0 curve:0];
}
@@ -455,24 +483,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
}
}
-(void)selectBannerListWithModel:(HomeBannerInfoModel *)model{
switch (model.skipType) {
case HomeBannerInfoSkipType_Room:
{
if (model.skipUri.length > 0) {
[XPRoomViewController openRoom:model.skipUri viewController:self];
}
}
break;
case HomeBannerInfoSkipType_Web:
{
XPWebViewController *vc = [[XPWebViewController alloc] initWithRoomUID:nil];
vc.url = model.skipUri;
[self.navigationController pushViewController:vc animated:YES];
}
break;
default:
break;
}
[self handleTapBannerItem:model];
}
///
- (void)xPHomeRecommendOtherRoomView:(XPHomeRecommendOtherRoomView *)view didClickEnterRoom:(HomeMenuSourceModel *)model{
@@ -481,6 +492,28 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
}
}
#pragma mark -
- (void)handleTapBannerItem:(HomeBannerInfoModel *)model {
switch (model.skipType) {
case HomeBannerInfoSkipType_Room:
{
if (model.skipUri.length > 0) {
[XPRoomViewController openRoom:model.skipUri viewController:self];
}
}
break;
case HomeBannerInfoSkipType_Web:
{
XPWebViewController *vc = [[XPWebViewController alloc] initWithRoomUID:nil];
vc.url = model.skipUri;
[self.navigationController pushViewController:vc animated:YES];
}
break;
default:
break;
}
}
#pragma mark - Getters And Setters
- (JXCategoryTitleView *)titleView {
if (!_titleView) {