// // SalesPaymentRankDataListViewController.m // IBOSS // // Created by guan hong hou on 2017/8/23. // Copyright © 2017年 elongtian. All rights reserved. // // 功能描述:销售回款排行列表控制器 #import "SalesPaymentRankDataListViewController.h" #import "SalesPaymentDataListCell.h" @interface SalesPaymentRankDataListViewController (){ /** 当前页数 */ int mPage; /** 每页显示的记录数 */ int mRecorders; /** 是否是最后一页 */ Boolean isLastPage; } @end @implementation SalesPaymentRankDataListViewController #pragma mark - 公共函数 /** 视图加载完成函数 */ - (void)viewDidLoad { [super viewDidLoad]; [self initUI]; mPage = 1; mRecorders = 20; } /** 安全区视图发生变化 */ -(void)viewSafeAreaInsetsDidChange{ _refreshTableView.frame = CGRectMake(0, 10, SCREENWIDTH, self.view.superview.frame.size.height-10); [super viewSafeAreaInsetsDidChange]; } #pragma mark - 委托函数 /** 单元格cell个数 @param tableView <#tableView description#> @param section <#section description#> @return <#return value description#> */ - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [_rankPagingList count]; } /** <#Description#> @param tableView <#tableView description#> @return <#return value description#> */ - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 1; } /** 高度 @param tableView <#tableView description#> @param indexPath <#indexPath description#> @return <#return value description#> */ - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ SalesPaymentRankFrame *frame = [_rankPagingList objectAtIndex:indexPath.row]; return frame.cellHeight; } /** 每个单元格cell @param tableView <#tableView description#> @param indexPath <#indexPath description#> @return <#return value description#> */ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellIdentifier = @"PaymentRankCell"; SalesPaymentDataListCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier ]; cell = [[SalesPaymentDataListCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; cell.selectionStyle = UITableViewCellSelectionStyleNone; SalesPaymentRankFrame *frame = [_rankPagingList objectAtIndex:indexPath.row]; [cell setSalesPaymentListFrame:frame]; return cell; } /** 加载更多回调函数 */ - (void)LoadMoreList:(RefreshTableView *)sender { if (_rankList.count <= mRecorders) { isLastPage = true; _refreshTableView.mbMoreHidden = YES; [_refreshTableView FinishLoading]; return; } mPage++; if (isLastPage) { return; } if (mPage * mRecorders >= _rankList.count) {// 判断是否为最后一页 isLastPage = true; } else { isLastPage = false; } NSArray *subArray = [_pageModel getObjects:mPage]; [_rankPagingList addObjectsFromArray:subArray]; [_refreshTableView FinishLoading]; _refreshTableView.mbMoreHidden = NO; [_refreshTableView reloadData]; } /** 下拉刷新回调函数 */ - (void)ReloadList:(RefreshTableView *)sender{ if (_rankPagingList != nil && _rankPagingList.count > 0) { [_rankPagingList removeAllObjects]; [_refreshTableView reloadData]; } mPage = 1; isLastPage = false; _pageModel = [[PageModel alloc]init]; [_pageModel setPage:_rankList pageRecorders:mRecorders]; NSArray *subArray = [_pageModel getObjects:mPage]; [_rankPagingList addObjectsFromArray:subArray]; [_refreshTableView FinishLoading]; _refreshTableView.mbMoreHidden=NO; [_refreshTableView reloadData]; } /** 支持下拉刷新回调函数 */ - (BOOL)CanRefreshTableView:(RefreshTableView *)sender { return YES; } /** 显示下拉更新 @param scrollView <#scrollView description#> */ - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ if (scrollView.isDragging) {//显示下拉更新 if (_refreshTableView.mRefreshHeader.state == PullRefreshPulling && scrollView.contentOffset.y > -65.0f && scrollView.contentOffset.y < 0.0f && [_refreshTableView CanRefresh]) { [_refreshTableView.mRefreshHeader setState:PullRefreshNormal]; } else if (_refreshTableView.mRefreshHeader.state == PullRefreshNormal && scrollView.contentOffset.y < -65.0f && [_refreshTableView CanRefresh]) {//显示松开更新 [_refreshTableView.mRefreshHeader setState:PullRefreshPulling]; } } } #pragma mark - 私有函数 /** 初始化UI */ -(void)initUI{ UIView *separatorView=[UIView new]; separatorView.frame = CGRectMake(0, 0, Screen_Width, 10); separatorView.backgroundColor = LineBackgroundColor; [self.view addSubview:separatorView]; _refreshTableView = [[RefreshTableView alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(separatorView.frame), self.view.frame.size.width, Screen_Height - CGRectGetMaxY(separatorView.frame)-150)]; _refreshTableView.separatorStyle = UITableViewCellSeparatorStyleNone; _refreshTableView.autoresizingMask = UIViewAutoresizingFlexibleHeight; _refreshTableView.backgroundColor = [UIColor whiteColor]; _refreshTableView.delegate = self; [self.view addSubview:_refreshTableView]; } /** 刷新数据 */ -(void)refreshData{ mPage=1; _rankPagingList = [[NSMutableArray alloc]init]; _pageModel = [[PageModel alloc]init]; [_pageModel setPage:_rankList pageRecorders:mRecorders]; NSArray *subArray = [_pageModel getObjects:mPage]; [_rankPagingList addObjectsFromArray:subArray]; _refreshTableView.mbMoreHidden = NO; [_refreshTableView reloadData]; } @end