• 上拉刷新,下拉加载


    #import "AppDelegate.h"

    #import "MyTableViewController.h"

     

    @interfaceAppDelegate ()

     

    @end

     

    @implementation AppDelegate

     

     

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

        self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];

        UINavigationController *nvc = [[UINavigationControlleralloc]initWithRootViewController:[[MyTableViewControlleralloc]init]];

        self.window.rootViewController = nvc;

        [self.windowmakeKeyAndVisible];

        returnYES;

    }

    #import "MyTableViewController.h"

    #import "myTableViewCell.h"

    #import "UIImageView+WebCache.h"

    #import "MJRefresh.h"

    NSString *const MJTableViewCellIdentifier = @"Cell";

     

    #define str @"http://apis.juhe.cn/cook/index"

    @interfaceMyTableViewController ()<UITableViewDataSource,UITableViewDelegate>

    {

        NSMutableArray *array;

       NSMutableArray *arr;

        NSArray *arr1;

        MyTableViewController *tabel;

    }

     

    @property (strong, nonatomic) NSArray *fakeData;

     

    @end

     

    @implementation MyTableViewController

    int i;

    - (void)viewDidLoad {

        [superviewDidLoad];

        self.view.backgroundColor = [UIColorwhiteColor];

        //2.集成刷新控件

        self.tableView.rowHeight = 130;

        //self.tableView.bounces = NO;

        self.tableView.showsVerticalScrollIndicator = NO;

       [selfsetupRefresh];

        array = [NSMutableArrayarrayWithCapacity:10];

        NSString *  str1 = [strstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSURL *url = [NSURL URLWithString:str1];

        NSMutableURLRequest *requst = [NSMutableURLRequestrequestWithURL:url cachePolicy:0timeoutInterval:10];

        NSString *data = [NSStringstringWithFormat:@"key=%@&cid=%@&rn=%@",@"3b6ef5c9c2f3dbed7d7d693df8a137cd",@"1",@"30"];

        NSData *data1 = [data dataUsingEncoding:NSUTF8StringEncoding];

        [requst setHTTPBody:data1];

        [requst setHTTPMethod:@"POST"];

        

        [NSURLConnection sendAsynchronousRequest:requst queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data1, NSError *connectionError) {

            

            //解析失败直接解档显示上次缓存数据

           // if (connectionError) {

                NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/str11.txt"];

                id obj = [NSKeyedUnarchiver unarchiveObjectWithFile:path];

                

                NSMutableDictionary *dic = obj[@"result"];

                

                arr = dic[@"data"];

            NSLog(@"======%@",arr);

                for (int i =0; i<5; i++) {

                   // NSLog(@"-------%@",arr[i]);

                    [array addObject:arr[i]];

                    [self.tableView reloadData];

                    NSLog(@"-----%lu",(unsigned long)array.count);

                }

            

        }];

     

    }

    /**

     *  集成刷新控件

     */

    - (void)setupRefresh

    {

        [self.tableViewaddHeaderWithTarget:selfaction:@selector(headerRereshing) dateKey:@"table"];

     

        // 2.上拉加载更多(进入刷新状态就会调用selffooterRereshing)

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

     

        // 设置文字

        self.tableView.headerPullToRefreshText = @"下拉可以刷新了";

        self.tableView.headerReleaseToRefreshText = @"松开马上刷新了";

        self.tableView.headerRefreshingText = @"正在刷新中,请稍等";

     

        self.tableView.footerPullToRefreshText = @"上拉可以加载更多数据了";

        self.tableView.footerReleaseToRefreshText = @"松开马上加载更多数据了";

        self.tableView.footerRefreshingText = @"正在加载中,请稍等";

    }

     

     

    - (void)headerRereshing

    {

        // 2.模拟2秒后刷新表格UI

        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

            // 刷新表格

            [self.tableView reloadData];

            // (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态

            [self.tableViewheaderEndRefreshing];

        });

    }

     

    - (void)footerRereshing

    {

        

        // 1.添加假数据

        if (i<5) {

              for (int i = 0; i<5; i++) {

            [array addObject:arr[i]];

        }

     

        [self.tableViewreloadData];

       

        }

         i++;

        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

            // 刷新表格

            [self.tableView reloadData];

            // (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态

            [self.tableViewfooterEndRefreshing];

        });

      // [self.tableView footerEndRefreshing];

    }

     

    - (void)didReceiveMemoryWarning {

        [superdidReceiveMemoryWarning];

        

    }

     

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

        NSLog(@"111111");

        for (NSDictionary * obj in array) {

            NSLog(@"=======%@",obj[@"title"]);

        }

        NSLog(@"++++++%lu",(unsigned long)array.count);

        return array.count;

    }

     

    -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

        return 130;

    }

     

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

          NSLog(@"2222222");

        static NSString *inde = @"cell";

        myTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:inde];

        if (cell == nil) {

            cell = [[myTableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:inde];

        }

    //   myTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MJTableViewCellIdentifier forIndexPath:indexPath];

        NSDictionary *dic = arr[indexPath.row];

        NSArray * arr11 = dic[@"albums"];

        

        [cell.img sd_setImageWithURL:arr11[0] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {

            

        }];

        

        cell.lab.text = dic[@"title"];

        cell.lab1.text = dic[@"imtro"];

        

        return cell;

    }

     

    #import <UIKit/UIKit.h>

     

    @interface myTableViewCell : UITableViewCell

     

    @property(nonatomic,copy)UIImageView *img;

    @property(nonatomic,copy)UILabel *lab;

    @property(nonatomic,copy)UILabel *lab1;

     

    @property(nonatomic,copy)UILabel *lab2;  //此属性用于详细步骤显示页

     

    @end

     

     

     

  • 相关阅读:
    win10+PHP 安装memcache
    win10+PHP 安装redis
    一个github搞定微信小程序支付系列
    Linux下新建一个站点
    Linux下更改mysql版本
    零基础配置Linux服务器环境
    手把手教你使用ueditor
    react学习三
    react学习二 生命周期
    window.location.replace和window.location.href区别
  • 原文地址:https://www.cnblogs.com/lcl15/p/5027873.html
Copyright © 2020-2023  润新知