当前位置: 首页 > 工具软件 > MJRefresh > 使用案例 >

MJRefresh框架

阎佑运
2023-12-01

MJRefresh框架   实现上拉和下拉刷新

 1. 添加头部控件的方法

 [self.tableView addHeaderWithTarget:self action:@selector(headerRereshing)];

 或者

 [self.tableView addHeaderWithCallback:^{ }];

 

 2. 添加尾部控件的方法

 [self.tableView addFooterWithTarget:self action:@selector(footerRereshing)];

 或者

 [self.tableView addFooterWithCallback:^{ }];

 

 3. 可以在MJRefreshConst.hMJRefreshConst.m文件中自定义显示的文字内容和文字颜色

 

 4. 本框架兼容iOS6\iOS7iPhone\iPad横竖屏

 

 5.自动进入刷新状态

 1> [self.tableView headerBeginRefreshing];

 2> [self.tableView footerBeginRefreshing];

 

 6.结束刷新

 1> [self.tableView headerEndRefreshing];

 2> [self.tableView footerEndRefreshing];



1.     #import "HomeViewController.h"  

2.     #import "MJRefresh.h"  

3.       

4.     @interface HomeViewController ()<UITableViewDataSource,UITableViewDelegate,MJRefreshBaseViewDelegate>  

5.     {  

6.         MJRefreshHeaderView *_header;  

7.         MJRefreshFooterView *_footer;  

8.       

9.     }  

10.     

11.   @property (nonatomic ,retainUITableView *mainTableView;  

12.   @property (nonatomic ,retainNSMutableArray *mainDataList;  

13.     

14.   @end  

15.     

16.   @implementation HomeViewController  

17.   @synthesize mainTableView,mainDataList;  

18.     

19.   /************无数据源  数据源部分自己写************/  

20.   - (void)viewDidLoad  

21.   {  

22.       [super viewDidLoad];  

23.       mainTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480) style:UITableViewStylePlain];  

24.       mainTableView.delegate = self;  

25.       mainTableView.dataSource = self;  

26.       [self.view addSubview:mainTableView];  

27.       mainDataList = [[NSMutableArray alloc]init];    

28.       // 刷新功能  

29.       _header = [[MJRefreshHeaderView alloc] init];  

30.       _header.delegate = self;  

31.       _header.scrollView = mainTableView;  

32.       //添加上拉加载更多  

33.       _footer = [[MJRefreshFooterView alloc] init];  

34.       _footer.delegate = self;  

35.       _footer.scrollView = mainTableView;  

36.   }  

37.   #pragma mark 代理方法-进入刷新状态就会调用  

38.   - (void)refreshViewBeginRefreshing:(MJRefreshBaseView *)refreshView  

39.   {  

40.       NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  

41.       formatter.dateFormat = @"HH : mm : ss.SSS";  

42.       if (_header == refreshView)  

43.       {  

44.           //下拉刷新数据请求********************************  

45.           // 2秒后刷新表格  

46.           [self performSelector:@selector(reloadDeals) withObject:nil afterDelay:2];  

47.             

48.       } else {  

49.           //上拉刷新数据请求**************************************  

50.           // 2秒后刷新表格  

51.           [self performSelector:@selector(reloadDeals) withObject:nil afterDelay:2];  

52.       }  

53.   }  

54.     

55.   - (void)reloadDeals  

56.   {  

57.       [mainTableView reloadData];  

58.       // 结束刷新状态  

59.       [_header endRefreshing];  

60.       [_footer endRefreshing];  

61.   }  

62.     

63.     

64.   -(NSInteger )tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section  

65.   {  

66.       return mainDataList.count;  

67.   }  

68.     

69.   -(CGFloat )tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath  

70.   {  

71.       return 40;  

72.   }  

73.   -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  

74.   {  

75.       static NSString *cellindentifier = @"cell";  

76.       UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellindentifier];  

77.       if (!cell) {  

78.           cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellindentifier];  

79.       }  

80.       return cell;  

81.     

82.   }  

83.     

84.   - (void)didReceiveMemoryWarning  

85.   {  

86.       [super didReceiveMemoryWarning];  

87.       // Dispose of any resources that can be recreated.  

88.   }  

89.     

@end  

 类似资料: