设为首页 加入收藏

TOP

推荐关注模块的实现2(一)
2017-10-13 10:24:25 】 浏览:6723
Tags:推荐 关注 模块 实现

这次实现右边数据的显示

我们对上次的代码进行添加及改造

一.Controller

 

在xib中

把右边的的UITableView也添加上,并将关联到代码中

/** 服务器传来的数据数组 */
@property (nonatomic,strong) NSArray *categories;
/** 服务器传来的数据数组 */
@property (nonatomic,strong) NSArray *users;

@property (weak, nonatomic) IBOutlet UITableView *categoryTableView;

@property (weak, nonatomic) IBOutlet UITableView *userTableView;

 

在DDZRecommendViewController中

- (void)viewDidLoad {
    [super viewDidLoad];
 
    //初始化数据
    [self setupTableView];
    
    //左侧项目数据请求
    [self dataLeftRequest];
    
}

 

//初始化数据
- (void)setupTableView {
    
    self.view.backgroundColor = DDZGlobalBg;
    
    self.title = @"推荐关注";
    
    //隐藏滚动条
    self.categoryTableView.showsVerticalScrollIndicator = NO;
    
    //注册左侧cell
    [self.categoryTableView registerNib:[UINib nibWithNibName:NSStringFromClass([DDZRecommendCategoryCell class]) bundle:nil] forCellReuseIdentifier:@"category"];
    //注册右侧cell
    [self.userTableView registerNib:[UINib nibWithNibName:NSStringFromClass([DDZRecommendUserCell class]) bundle:nil] forCellReuseIdentifier:@"user"];
    
    
    //设置insert
    self.automaticallyAdjustsScrollViewInsets = NO;
    self.categoryTableView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);
    self.userTableView.contentInset = self.categoryTableView.contentInset;
    
    //设置右侧cell高度
    self.userTableView.rowHeight = 70;
    
    //设置背景蒙版
    [SVProgressHUD show];
    [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeBlack];
    
    
}

(1)设置insert的目的

 

是避免导航栏挡住tableview显示的内容

第一句是禁止自动设置insert

self.automaticallyAdjustsScrollViewInsets = NO;

第二句是设置上边距为64(导航栏加状态栏是64点)

self.categoryTableView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);

 

(2)设置右侧cell的高度

 

是因为cell的默认高度是44,不设置无法包含大一点的图片

 

//左侧数据请求
- (void)dataLeftRequest {
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    dict[@"a"] = @"category";
    dict[@"c"] = @"subscribe";
    [manager GET:@"http://api.budejie.com/api/api_open.php" parameters:dict progress:^(NSProgress * _Nonnull downloadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        
        [SVProgressHUD dismiss];
        
        //回传数据成功(需要字典转数据模型框架)
        self.categories = [DDZRecommendCategory mj_objectArrayWithKeyValuesArray:responseObject[@"list"]];
        
        //刷新页面
        [self.categoryTableView reloadData];
        
        //默认选中首行
        [self.categoryTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionTop];
        
        
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
        [SVProgressHUD showErrorWithStatus:@"加载推荐信息失败!"];
    }];
}

 

设置委托协议

#pragma mark - <UITableViewDataSource>
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    
    if (tableView == self.categoryTableView) {
        return self.categories.count;
    }else {
        return self.users.count;
    }
    
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    if (tableView == self.categoryTableView)
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇iOS开发之--HTTP请求 下一篇【代码笔记】iOS-轮询弹出框

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目