iOS tableView刷新
下面是我对AFN刷新一个简单的封装我们只需要传过去一个tableView就好了 简化了一些代码
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSInteger, refreshType) {
TableViewHeaderRefresh,
TableViewFooterRefresh
};
@interface HuTableViewRefresh : NSObject
/**
tableView 刷新
@param tableView tableView
@param success 下拉或者上拉
*/
+ (void)tableViewRefresh:(UITableView *)tableView success:(void(^)(refreshType refresh))success;
@end
#import "HuTableViewRefresh.h"
@implementation HuTableViewRefresh
+ (void)tableViewRefresh:(UITableView *)tableView success:(void (^)(refreshType))success{
tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
success(TableViewHeaderRefresh);
}];
[tableView.mj_header beginRefreshing];
tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
success(TableViewFooterRefresh);
}];
tableView.mj_footer.automaticallyHidden = YES;
}
@end
使用方法
[HuTableViewRefresh tableViewRefresh:self.tableView success:^(refreshType refresh) {
refresh == TableViewHeaderRefresh ? _pageNum = kPageNum: _pageNum ++;
[self loadingData];
}];
- (void)loadingData{
NSDictionary *paramters = @{@"pageNum":@(_pageNum),@"pageSize":@"10",@"classTypes":@"4"};
WS(weakSelf)
[PCHttpTools
myCollection:paramters
view:nil
success:^(NSArray *dataListArray) {
[self.dateListArray addObjectsFromArray:dataListArray];
if (_pageNum == kPageNum) {
[self.tableView.mj_header endRefreshing];
if (dataListArray.count <= 0) {
[self.tableView removeFromSuperview];
[self loadingDefaultview:@"暂无收藏课程~"];
}
[self.dateListArray removeAllObjects];
}
if (dataListArray.count < 10) {
[weakSelf.tableView.mj_footer endRefreshingWithNoMoreData];
}
[weakSelf.dateListArray addObjectsFromArray:dataListArray];
[self.tableView reloadData];
}];
}
iOS tableView刷新的更多相关文章
- iOS tableview cell 的展开收缩
iOS tableview cell 的展开收缩 #import "ViewController.h" @interface ViewController ()<UITabl ...
- ios tableview 上加 textfiled
ios tableview 上加 textfiled 首先附上我项目中用曾经用到的几张图 并说明一下我的用法: 图1: 图2: 图3: 心在你我说一下 我当初的实现 方法 ,希望能给你们一些 启 ...
- IOS如何刷新视图上的显示内容
大家都知道,UItableView 有个 reloadData的方法,可以tableview刷新视图.而普通的View上面.我们如何刷新视图的呢? 下图是我做的一个用户登录之后显示用户昵称和个性签名还 ...
- iOS TableView多级列表
代码地址如下:http://www.demodashi.com/demo/15006.html 效果预览 ### 一.需求 TableView多级列表:分级展开或合并,逐级获取并展示其子级数据,可以设 ...
- iOS tableview的常用delegate和dataSource执行顺序
在这次项目中遇到了一个特别奇葩的问题:表视图创建的cell在7以上的系统能正常运行显示,在模拟器上就不能正常实现......为解决这个问题,纠结了好久...... 对在7系统上不显示的猜测: 用mas ...
- IOS tableview下拉刷新上拉加载分页
http://code4app.com/ios/快速集成下拉上拉刷新/52326ce26803fabc46000000 刷新没用用插件,加载使用的MJ老师的插件. - (void)viewDidLoa ...
- iOS TableView如何刷新指定的cell或section
指定的section单独刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:indexPath.row]; [tableview relo ...
- ios开发之--tableview刷新某一个区和某一行
在开发中,有时候,我们不需要刷新整个表,只需要刷新局部数据即可,具体代码如下: //section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWith ...
- IOS tableView的数据刷新
1.tableView的刷新 1> 数据刷新的总体步骤 * 修改模型数据 * 刷新表格(刷新界面) 2> 刷新表格(刷新界面)的方法 * 全局刷新(每一行都会重新刷新) - (void)r ...
随机推荐
- Publishing failed with multiple errors.问题解决
问题:Publishing failed with multiple errors.(发布失败与多个错误) 原因:项目工程文件删除,但eclipse里面仍显示存在. 解决方案:刷新项目工程,重新部署, ...
- [Leetcode] Binary tree level order traversal二叉树层次遍历
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...
- mysql之 mysql 5.6不停机主从搭建(一主一从)
环境说明:版本 version 5.6.25-log 主库ip: 10.219.24.25从库ip:10.219.24.22os 版本: centos 6.7已安装热备软件:xtrabackup 防火 ...
- MySQL分页优化中的“INNER JOIN方式优化分页算法”到底在什么情况下会生效?
本文出处:http://www.cnblogs.com/wy123/p/7003157.html 最近无意间看到一个MySQL分页优化的测试案例,并没有非常具体地说明测试场景的情况下,给出了一种经典的 ...
- IntelliJ IDEA提示:Error during artifact deployment. See server log for details.
IntelliJ IDEA-2017.1.1 tomcat-8.5.13 问题:在IntelliJ IDEA中使用tomcat部署web app时,提示:Error during artifact ...
- 从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray)
从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray) deque deque双端队列,分段连续空间数据结构,由中控的map(与其说map,不如说是数 ...
- elememtui(有关权限的那些事)
前言:关于权限路由的那些事儿…… 业务情景描述:现有一个后台管理系统,共存在三种类型的人员,①超级管理员(称作1):②组别管理员(2):③普通用户(3):每种类型的人看到的操作栏并不一样,可以进行的操 ...
- Netty方法误解ChannelHandlerContext.writeAndFlush(Object msg)
乍一看这个方法,以为什么消息都能输出,因为参数是Object类型的,但实际上,netty内部只支持两种类型,如图
- SQL Server 使用ROW_NUMBER实现的高效分页排序
declare @pageNum int declare @pageSize int select * from (select ROW_NUMBER() over(order by a_Creati ...
- 并行模式库PPL应用实战(一):使用task类创建并行任务
自 VS2010 起,微软就在 CRT 中集成了并发运行时(Concurrency Runtime),并行模式库(PPL,Parallel Patterns Library)是其中的一个重要组成部分. ...