Commit d4652210 by ludi

规范订阅view

parent d090263f
Showing with 306 additions and 74 deletions
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "zone_subscribe_info_bgImage@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "zone_subscribe_info_bgImage@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "zone_subscribe_info_subscribeBtn_off@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "zone_subscribe_info_subscribeBtn_off@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
......@@ -727,6 +727,7 @@
[weakSelf.myZoneBottomView fus_updateBottomViewWithModel:zoneModel];
}
weakSelf.tableView.zoneModel = weakSelf.zoneModel;
weakSelf.newsFeedListView.zoneModel = zoneModel;
} failure:^(NSString *msg, NSInteger code) {
if (code == -43) {
if ([UIViewController fus_topViewController] == weakSelf) {
......
......@@ -30,9 +30,15 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, copy) void(^heightDidChangedHandler)(CGFloat height);
// 持有空间信息的mdoel
@property (nonatomic, strong) FUSZoneInfosModel *zoneModel;
// 页面的最大高度
@property (nonatomic, assign) CGFloat maxHeight;
// 是否禁止进入订阅分页,YES 时点击订阅只弹提示且不能横滑进入订阅页
@property (nonatomic, assign) BOOL forbidEnterSubscribePage;
@end
NS_ASSUME_NONNULL_END
......@@ -9,6 +9,14 @@
#import "FUSMyZoneNewsFeedListView.h"
#import "FUSMyZoneSubscribeCollectionView.h"
#import "FUSDialogView.h"
typedef enum {
FUSMyZoneNewsFeedTabTypeShare = 0,
FUSMyZoneNewsFeedTabTypeAlbum,
FUSMyZoneNewsFeedTabTypeLike,
FUSMyZoneNewsFeedTabTypeSubscribe,
} FUSMyZoneNewsFeedTabType;
@interface FUSMyZoneNewsFeedListView () <UIScrollViewDelegate,FUSSegmentControlViewDelegate>
......@@ -21,6 +29,12 @@
// 记录当前页码
@property (nonatomic, assign) NSInteger currentPage;
// 标签页类型列表,统一驱动 segment 和实体页创建
@property (nonatomic, strong) NSArray *tabTypeList;
/// 订阅的view
@property (nonatomic, strong) FUSMyZoneSubscribeCollectionView *subscribeView;
@end
@implementation FUSMyZoneNewsFeedListView
......@@ -46,13 +60,131 @@
}
- (void)fus_setupViews {
[self fus_buildTabTypeList];
[self fus_initSegmentView];
[self fus_initScrollView];
self.forbidEnterSubscribePage = NO;
}
// 构建当前应该展示的标签页类型列表
- (void)fus_buildTabTypeList {
NSMutableArray<NSNumber *> *tabTypeList = [NSMutableArray arrayWithArray:@[
@(FUSMyZoneNewsFeedTabTypeShare),
@(FUSMyZoneNewsFeedTabTypeAlbum),
@(FUSMyZoneNewsFeedTabTypeLike)
]];
if (!FUSConfig.sharedInstanced.devConfigs.appStatus) {
[tabTypeList addObject:@(FUSMyZoneNewsFeedTabTypeSubscribe)];
}
self.tabTypeList = [tabTypeList copy];
}
// 当前是否展示了订阅分页
- (BOOL)fus_hasSubscribePage {
return [self.tabTypeList containsObject:@(FUSMyZoneNewsFeedTabTypeSubscribe)];
}
// 返回订阅分页在列表中的索引
- (NSInteger)fus_subscribePageIndex {
NSUInteger subscribePageIndex = [self.tabTypeList indexOfObject:@(FUSMyZoneNewsFeedTabTypeSubscribe)];
if (subscribePageIndex == NSNotFound) {
return NSNotFound;
}
return (NSInteger)subscribePageIndex;
}
// 根据标签页类型返回标题文案
- (NSString *)fus_titleForTabType:(FUSMyZoneNewsFeedTabType)tabType {
switch (tabType) {
case FUSMyZoneNewsFeedTabTypeShare:
return [NSString fus_localString:@"分享"];
case FUSMyZoneNewsFeedTabTypeAlbum:
return [NSString fus_localString:@"相册"];
case FUSMyZoneNewsFeedTabTypeLike:
return [NSString fus_localString:@"点赞"];
case FUSMyZoneNewsFeedTabTypeSubscribe:
return [NSString fus_versionLocalString:@"订阅"];
}
}
// 根据标签页类型返回对应的实体页
- (FUSNewsFeedCollectionView *)fus_collectionViewForTabType:(FUSMyZoneNewsFeedTabType)tabType frame:(CGRect)frame {
switch (tabType) {
case FUSMyZoneNewsFeedTabTypeShare:
return [[FUSNewsFeedCollectionView alloc] initWithFrame:frame dataType:FUSNewsFeedDataTypeZoneShare columnNum:2 zoneId:self.zoneId];
case FUSMyZoneNewsFeedTabTypeAlbum:
return [[FUSNewsFeedCollectionView alloc] initWithFrame:frame dataType:FUSNewsFeedDataTypeZoneAlbum columnNum:2 zoneId:self.zoneId];
case FUSMyZoneNewsFeedTabTypeLike:
return [[FUSNewsFeedCollectionView alloc] initWithFrame:frame dataType:FUSNewsFeedDataTypeZoneLike columnNum:2 zoneId:self.zoneId];
case FUSMyZoneNewsFeedTabTypeSubscribe:
self.subscribeView = [[FUSMyZoneSubscribeCollectionView alloc] initWithFrame:frame dataType:FUSNewsFeedDataTypeZoneShare columnNum:2 zoneId:self.zoneId];
return self.subscribeView;
}
}
// 返回当前是否需要拦截进入订阅分页
- (BOOL)fus_shouldBlockSubscribePage {
return self.forbidEnterSubscribePage && [self fus_hasSubscribePage];
}
// 处理点击订阅标签时的拦截逻辑
- (BOOL)fus_handleSubscribeTapIfNeededWithIndex:(NSInteger)index {
if (![self fus_shouldBlockSubscribePage]) {
return NO;
}
NSInteger subscribePageIndex = [self fus_subscribePageIndex];
if (index != subscribePageIndex) {
return NO;
}
[self fus_showSubscribeToast];
[self.segmentControlView fus_setSelectedItem:self.currentPage autoCallBack:NO];
return YES;
}
// 处理横向滑动到订阅分页时的拦截逻辑
- (void)fus_blockSubscribePageIfNeededWithScrollView:(UIScrollView *)scrollView {
if (scrollView != self.scrollView || ![self fus_shouldBlockSubscribePage]) {
return;
}
NSInteger subscribePageIndex = [self fus_subscribePageIndex];
CGFloat maxOffsetX = self.scrollView.width * MAX(subscribePageIndex - 1, 0);
if (scrollView.contentOffset.x > maxOffsetX) {
scrollView.contentOffset = CGPointMake(maxOffsetX, scrollView.contentOffset.y);
[self.segmentControlView fus_setSelectedItem:MAX(subscribePageIndex - 1, 0) autoCallBack:NO];
}
}
// 设置是否禁止进入订阅分页,并在需要时将当前位置纠正回上一页。
- (void)setForbidEnterSubscribePage:(BOOL)forbidEnterSubscribePage {
_forbidEnterSubscribePage = forbidEnterSubscribePage;
if (![self fus_shouldBlockSubscribePage]) {
return;
}
NSInteger subscribePageIndex = [self fus_subscribePageIndex];
if (self.currentPage == subscribePageIndex) {
NSInteger previousPage = MAX(subscribePageIndex - 1, 0);
self.currentPage = previousPage;
self.scrollView.contentOffset = CGPointMake(previousPage * self.scrollView.width, 0);
[self.segmentControlView fus_setSelectedItem:previousPage autoCallBack:NO];
}
}
// 弹出订阅提示文案
- (void)fus_showSubscribeToast {
[FUSDialogView fus_showDialog:[NSString fus_versionLocalString:@"订阅"]];
}
- (void)fus_initSegmentView {
UIView *segmentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, UIView.fus_screenW, 70)];
self.segmentControlView = [[FUSSegmentControlView alloc] initWithFrame:CGRectMake(0, 0, UIView.fus_screenW, 40) withItems:@[[NSString fus_localString:@"分享"],[NSString fus_localString:@"相册"],[NSString fus_localString:@"点赞"],[NSString fus_localString:@"订阅"]]];
NSMutableArray<NSString *> *items = [NSMutableArray array];
for (NSNumber *tabTypeNumber in self.tabTypeList) {
[items addObject:[self fus_titleForTabType:(FUSMyZoneNewsFeedTabType)tabTypeNumber.integerValue]];
}
self.segmentControlView = [[FUSSegmentControlView alloc] initWithFrame:CGRectMake(0, 0, UIView.fus_screenW, 40) withItems:items];
self.segmentControlView.alignment = FUSSegmentControlAlignmentCenter;
self.segmentControlView.isEqualSpace = YES;
[self.segmentControlView fus_setUnderLineSelectedImage:UIImage.fus_segmentSelected];
......@@ -88,89 +220,29 @@
[self addSubview:self.scrollView];
self.collectionViewList = [NSMutableArray array];
FUSNewsFeedCollectionView *shareCollectionView = [[FUSNewsFeedCollectionView alloc] initWithFrame:self.scrollView.bounds dataType:FUSNewsFeedDataTypeZoneShare columnNum:2 zoneId:self.zoneId];
__weak typeof(self) weakSelf = self;
shareCollectionView.fus_scrollViewDidScrollHandler = ^(FUSNewsFeedCollectionView * _Nonnull scrollView, CGFloat beginY) {
if (weakSelf.fus_scrollViewDidScrollHandler) {
weakSelf.fus_scrollViewDidScrollHandler(scrollView);
}
};
shareCollectionView.newsFeedScrollViewDidScaleHandler = ^(BOOL canPassScroll) {
weakSelf.scrollViewCanBeScroll = canPassScroll;
if (!canPassScroll) {
[weakSelf fus_scrollToNearPage];
}
};
shareCollectionView.contentInset = UIEdgeInsetsMake(0, 0, 70, 0);
CGRect albumRect = self.scrollView.bounds;
albumRect.origin.x = self.scrollView.width;
FUSNewsFeedCollectionView *albumCollectionView = [[FUSNewsFeedCollectionView alloc] initWithFrame:albumRect dataType:FUSNewsFeedDataTypeZoneAlbum columnNum:2 zoneId:self.zoneId];
albumCollectionView.fus_scrollViewDidScrollHandler = ^(FUSNewsFeedCollectionView * _Nonnull scrollView, CGFloat beginY) {
if (weakSelf.fus_scrollViewDidScrollHandler) {
weakSelf.fus_scrollViewDidScrollHandler(scrollView);
}
};
albumCollectionView.newsFeedScrollViewDidScaleHandler = ^(BOOL canPassScroll) {
weakSelf.scrollViewCanBeScroll = canPassScroll;
if (!canPassScroll) {
[weakSelf fus_scrollToNearPage];
}
};
albumCollectionView.contentInset = UIEdgeInsetsMake(0, 0, 70, 0);
CGRect likeRect = self.scrollView.bounds;
likeRect.origin.x = self.scrollView.width * 2;
FUSNewsFeedCollectionView *likeCollectionView = [[FUSNewsFeedCollectionView alloc] initWithFrame:likeRect dataType:FUSNewsFeedDataTypeZoneLike columnNum:2 zoneId:self.zoneId];
likeCollectionView.fus_scrollViewDidScrollHandler = ^(FUSNewsFeedCollectionView * _Nonnull scrollView, CGFloat beginY) {
for (NSInteger index = 0; index < self.tabTypeList.count; index++) {
CGRect rect = self.scrollView.bounds;
rect.origin.x = self.scrollView.width * index;
NSNumber *tabTypeNumber = self.tabTypeList[index];
FUSMyZoneNewsFeedTabType tabType = (FUSMyZoneNewsFeedTabType)tabTypeNumber.integerValue;
FUSNewsFeedCollectionView *collectionView = [self fus_collectionViewForTabType:tabType frame:rect];
collectionView.fus_scrollViewDidScrollHandler = ^(FUSNewsFeedCollectionView * _Nonnull scrollView, CGFloat beginY) {
if (weakSelf.fus_scrollViewDidScrollHandler) {
weakSelf.fus_scrollViewDidScrollHandler(scrollView);
}
};
likeCollectionView.newsFeedScrollViewDidScaleHandler = ^(BOOL canPassScroll) {
collectionView.newsFeedScrollViewDidScaleHandler = ^(BOOL canPassScroll) {
weakSelf.scrollViewCanBeScroll = canPassScroll;
if (!canPassScroll) {
[weakSelf fus_scrollToNearPage];
}
};
likeCollectionView.contentInset = UIEdgeInsetsMake(0, 0, 70, 0);
CGRect subscribeRect = self.scrollView.bounds;
subscribeRect.origin.x = self.scrollView.width * 3;
// 订阅分页沿用统一的 collectionView 实体结构,但内部只保留固定内容容器。
FUSMyZoneSubscribeCollectionView *subscribeCollectionView = [[FUSMyZoneSubscribeCollectionView alloc] initWithFrame:subscribeRect dataType:FUSNewsFeedDataTypeZoneShare columnNum:2 zoneId:self.zoneId];
subscribeCollectionView.fus_scrollViewDidScrollHandler = ^(FUSNewsFeedCollectionView * _Nonnull scrollView, CGFloat beginY) {
if (weakSelf.fus_scrollViewDidScrollHandler) {
weakSelf.fus_scrollViewDidScrollHandler(scrollView);
}
};
subscribeCollectionView.newsFeedScrollViewDidScaleHandler = ^(BOOL canPassScroll) {
weakSelf.scrollViewCanBeScroll = canPassScroll;
if (!canPassScroll) {
[weakSelf fus_scrollToNearPage];
collectionView.contentInset = UIEdgeInsetsMake(0, 0, 70, 0);
[self.collectionViewList addObject:collectionView];
[collectionView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
[self.scrollView addSubview:collectionView];
}
};
subscribeCollectionView.contentInset = UIEdgeInsetsMake(0, 0, 70, 0);
[self.collectionViewList addObject:shareCollectionView];
[self.collectionViewList addObject:albumCollectionView];
[self.collectionViewList addObject:likeCollectionView];
[self.collectionViewList addObject:subscribeCollectionView];
[shareCollectionView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
[albumCollectionView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
[likeCollectionView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
[subscribeCollectionView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
[self.scrollView addSubview:shareCollectionView];
[self.scrollView addSubview:albumCollectionView];
[self.scrollView addSubview:likeCollectionView];
[self.scrollView addSubview:subscribeCollectionView];
self.scrollView.contentSize = CGSizeMake(self.scrollView.width * self.collectionViewList.count, self.scrollView.height);
}
......@@ -195,6 +267,9 @@
#pragma mark - FUSSegmentControlViewDelegate
- (void)fus_segmentControl:(FUSSegmentControlView *)segmentView didSelectSegmentControlItemIndex:(NSInteger)index itemText:(NSString *)text {
if ([self fus_handleSubscribeTapIfNeededWithIndex:index]) {
return;
}
NSInteger oldIndex = self.currentPage;
self.currentPage = index;
......@@ -250,6 +325,7 @@
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
[self fus_blockSubscribePageIfNeededWithScrollView:scrollView];
if (!self.scrollViewCanBeScroll) {
[self fus_scrollToNearPage];
}
......@@ -270,6 +346,12 @@
}
NSInteger page = (NSInteger)(scrollView.contentOffset.x / scrollView.width);
if ([self fus_shouldBlockSubscribePage] && page == [self fus_subscribePageIndex]) {
NSInteger previousPage = MAX(page - 1, 0);
self.scrollView.contentOffset = CGPointMake(previousPage * self.scrollView.width, 0);
[self.segmentControlView fus_setSelectedItem:previousPage autoCallBack:NO];
return;
}
if (fabs(scrollView.width * page - scrollView.contentOffset.x) < 1) {
[self.segmentControlView fus_setSelectedItem:page autoCallBack:YES];
......@@ -302,4 +384,13 @@
}
}
#pragma mark ------ setter
- (void)setZoneModel:(FUSZoneInfosModel *)zoneModel{
_zoneModel = zoneModel;
if ([self.tabTypeList containsObject:@(FUSMyZoneNewsFeedTabTypeSubscribe)] && self.subscribeView != nil) {
self.subscribeView.zoneModel = zoneModel;
}
}
@end
......@@ -12,6 +12,9 @@ NS_ASSUME_NONNULL_BEGIN
@interface FUSMyZoneSubscribeCollectionView : FUSNewsFeedCollectionView
// 持有空间信息的mdoel
@property (nonatomic, strong) FUSZoneInfosModel *zoneModel;
/// 订阅分页的固定内容容器,用于承载后续自定义内容。
@property (nonatomic, strong, readonly) UIView *subscribeContainerView;
......
......@@ -7,19 +7,53 @@
//
#import "FUSMyZoneSubscribeCollectionView.h"
#import <FUSFoundation/FUSFoundation-Swift.h>
@interface FUSMyZoneSubscribeCollectionView ()
/// 订阅分页的固定内容容器,用于保持与动态分页一致的实体页结构。
@property (nonatomic, strong) UIView *subscribeContainerView;
/// 订阅信息卡片容器,用于承载头像、昵称和 ID 信息。
@property (nonatomic, strong) UIImageView *subscribeInfoCardView;
/// 订阅头像,用于展示当前空间主人的头像。
@property (nonatomic, strong) UIImageView *avatarImageView;
/// 订阅昵称,用于展示当前空间主人的昵称。
@property (nonatomic, strong) UILabel *nameLabel;
/// 订阅用户 ID,用于展示当前空间主人的 ID。
@property (nonatomic, strong) UILabel *userIdLabel;
/// 订阅按钮,用于展示当前订阅状态。
@property (nonatomic, strong) UIButton *subscribeButton;
@end
@implementation FUSMyZoneSubscribeCollectionView
- (instancetype)initWithFrame:(CGRect)frame dataType:(FUSNewsFeedDataType)dataType columnNum:(NSInteger)columnNum zoneId:(NSString *)zoneId {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
layout.minimumLineSpacing = 1;
layout.minimumInteritemSpacing = 1;
CGFloat width = (CGRectGetWidth(frame) - layout.minimumLineSpacing) / columnNum;
layout.itemSize = CGSizeMake(width, width);
layout.scrollDirection = UICollectionViewScrollDirectionVertical;
self = [super initWithFrame:frame collectionViewLayout:layout];
if (self) {
self.rootVC = [UIViewController fus_topViewController];
[self fus_initials];
}
return self;
}
/// 重写父类初始化逻辑,仅保留统一的容器风格,不走动态列表请求。
- (void)fus_initials {
self.backgroundColor = UIColor.fus_appBGColor;
self.scrollEnabled = NO;
self.alwaysBounceVertical = NO;
self.showsHorizontalScrollIndicator = NO;
self.showsVerticalScrollIndicator = NO;
self.bounces = NO;
......@@ -30,6 +64,43 @@
self.subscribeContainerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.bounds), self.subscribeContentHeight)];
self.subscribeContainerView.backgroundColor = UIColor.clearColor;
[self addSubview:self.subscribeContainerView];
self.subscribeInfoCardView = [[UIImageView alloc] initWithFrame:CGRectZero];
self.subscribeInfoCardView.contentMode = UIViewContentModeScaleAspectFit;
self.subscribeInfoCardView.image = [FUSUserCenterBunble imageNamed:@"zone_subscribe_info_bgImage"];
self.subscribeInfoCardView.userInteractionEnabled = YES;
[self.subscribeContainerView addSubview:self.subscribeInfoCardView];
self.avatarImageView = [[UIImageView alloc] initWithFrame:CGRectZero];
self.avatarImageView.layer.cornerRadius = 32.0;
self.avatarImageView.layer.masksToBounds = YES;
self.avatarImageView.contentMode = UIViewContentModeScaleAspectFill;
self.avatarImageView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.05];
[self.subscribeInfoCardView addSubview:self.avatarImageView];
self.nameLabel = [[UILabel alloc] initWithFrame:CGRectZero];
self.nameLabel.font = [UIFont fus_themeBoldFont:18];
self.nameLabel.textColor = [UIColor fus_textColorRich];
self.nameLabel.text = @"";
[self.subscribeInfoCardView addSubview:self.nameLabel];
self.userIdLabel = [[UILabel alloc] initWithFrame:CGRectZero];
self.userIdLabel.font = [UIFont fus_themeFont:14];
self.userIdLabel.textColor = [UIColor fus_textColorMedium];
self.userIdLabel.text = @"";
[self.subscribeInfoCardView addSubview:self.userIdLabel];
self.subscribeButton = [UIButton buttonWithType:UIButtonTypeCustom];
self.subscribeButton.userInteractionEnabled = NO;
self.subscribeButton.backgroundColor = [UIColor colorWithWhite:0 alpha:0.12];
self.subscribeButton.titleLabel.font = [UIFont fus_themeBoldFont:16];
[self.subscribeButton setTitleColor:UIColor.whiteColor forState:UIControlStateNormal];
[self.subscribeButton setTitle:[NSString stringWithFormat:@" %@",[NSString fus_versionLocalString:@"未开启订阅"]] forState:UIControlStateNormal];
[self.subscribeButton setImage:[FUSUserCenterBunble imageNamed:@"zone_subscribe_info_subscribeBtn_off"] forState:UIControlStateNormal];
self.subscribeButton.layer.cornerRadius = 26.0;
self.subscribeButton.layer.masksToBounds = YES;
[self.subscribeContainerView addSubview:self.subscribeButton];
self.contentSize = CGSizeMake(CGRectGetWidth(self.bounds), self.subscribeContentHeight);
}
......@@ -38,12 +109,19 @@
[super layoutSubviews];
self.subscribeContainerView.frame = CGRectMake(0, 0, CGRectGetWidth(self.bounds), self.subscribeContentHeight);
self.subscribeInfoCardView.frame = CGRectMake(15, 12, CGRectGetWidth(self.bounds) - 30, 124);
self.avatarImageView.frame = CGRectMake(16, 20, 64, 64);
CGFloat textOriginX = CGRectGetMaxX(self.avatarImageView.frame) + 16;
CGFloat textWidth = CGRectGetWidth(self.subscribeInfoCardView.bounds) - textOriginX - 16;
self.nameLabel.frame = CGRectMake(textOriginX, 25, textWidth, 28);
self.userIdLabel.frame = CGRectMake(textOriginX, CGRectGetMaxY(self.nameLabel.frame) + 8, textWidth, 20);
self.subscribeButton.frame = CGRectMake(15, CGRectGetMaxY(self.subscribeInfoCardView.frame) + 18, CGRectGetWidth(self.bounds) - 30, 52);
self.contentSize = CGSizeMake(CGRectGetWidth(self.bounds), self.subscribeContentHeight);
}
/// 返回订阅分页的固定内容高度。
- (CGFloat)subscribeContentHeight {
return 256.0;
return 220.0;
}
/// 返回订阅分页用于占位的最小高度。
......@@ -51,4 +129,13 @@
return self.subscribeContentHeight;
}
#pragma mark --- setter
- (void)setZoneModel:(FUSZoneInfosModel *)zoneModel {
_zoneModel = zoneModel;
[self.avatarImageView setImageWithURL:[NSURL URLWithString:zoneModel.face.fus_bigCdn] placeholder:[UIImage fus_defaultIcon]];
self.nameLabel.text = zoneModel.nickname;
self.userIdLabel.text = [NSString stringWithFormat:@"ID: %@",zoneModel.uid];
}
@end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment