zoukankan      html  css  js  c++  java
  • ios学习:UITableview二(下拉刷新)

      1 /*
      2  实现tableview的下拉刷新
      3  tableview滑动就会触发这个方法?
      4  */
      5 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
      6 {
      7     //当tableview下拉到最后一行的时候才触发
      8     if (indexPath.row == self.m_data.count - 1) {
      9         
     10         //定义一个UIView
     11         UIView *footSpinnerView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 60.0f)];
     12         
     13         //顶一个有刷新图标的view
     14         UIActivityIndicatorView *activity = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(130.0f, 0.0f, 60.0f, 60.0f)];
     15         activity.color = [UIColor redColor];
     16         [activity startAnimating];//启动有刷新图标的view
     17         
     18         footSpinnerView.backgroundColor = [UIColor grayColor];
     19         [footSpinnerView addSubview:activity];
     20         
     21         //设置footerview
     22         self.myTableView.tableFooterView = footSpinnerView;
     23         
     24      //   self.myTableView.tableHeaderView = footSpinnerView;
     25         
     26         dispatch_queue_t queue = dispatch_queue_create("my queue", nil);
     27         
     28         //在后台线程添加数据
     29         dispatch_async(queue, ^(void){
     30             
     31             [self.m_data addObject:@"1000"];
     32             [self.m_data addObject:@"1001"];
     33             [self.m_data addObject:@"1002"];
     34             [self.m_data addObject:@"1003"];
     35             [self.m_data addObject:@"1004"];
     36             
     37         });
     38         
     39         //添加完数据就重新加载数据
     40         dispatch_async(queue, ^(void) {
     41             
     42             sleep(2);
     43             dispatch_sync(dispatch_get_main_queue(), ^(void){
     44                 
     45                 [self.myTableView reloadData];
     46             });
     47         });
     48         
     49        // [self.myTableView reloadData];
     50         dispatch_release(queue);
     51         [footSpinnerView release];
     52         [activity release];
     53     }
     54 //   else if (indexPath.row == 0) {
     55 //        
     56 //        UIView *footSpinnerView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 60.0f)];
     57 //        UIActivityIndicatorView *activity = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(130.0f, 0.0f, 60.0f, 60.0f)];
     58 //        activity.color = [UIColor redColor];
     59 //        [activity startAnimating];
     60 //        
     61 //        footSpinnerView.backgroundColor = [UIColor grayColor];
     62 //        [footSpinnerView addSubview:activity];
     63 //        
     64 //     //   self.myTableView.tableFooterView = footSpinnerView;
     65 //        
     66 //        self.myTableView.tableHeaderView = footSpinnerView;
     67 //        
     68 //        dispatch_queue_t queue = dispatch_queue_create("my queue", nil);
     69 //        
     70 //        dispatch_async(queue, ^(void){
     71 //            
     72 //            [self.m_data insertObject:@"1000" atIndex:0];
     73 ////            [self.m_data addObject:@"1001"];
     74 ////            [self.m_data addObject:@"1002"];
     75 ////            [self.m_data addObject:@"1003"];
     76 ////            [self.m_data addObject:@"1004"];
     77 //         //   [self.m_data insertObject:[NSArray arrayWithObject:@"01"] atIndex:0];
     78 //            
     79 //        });
     80 //        
     81 //        dispatch_async(queue, ^(void) {
     82 //            
     83 //            sleep(2);
     84 //            dispatch_sync(dispatch_get_main_queue(), ^(void){
     85 //                
     86 //                [self.myTableView reloadData];
     87 //                [self.myTableView scrollToRowAtIndexPath:[indexPath initWithIndex:3] atScrollPosition:UITableViewScrollPositionNone animated:YES];
     88 //           });
     89 //        });
     90 //        
     91 //
     92 //       dispatch_release(queue);
     93 //        [footSpinnerView release];
     94 //        [activity release];
     95 //    }
     96 
     97     //如果不是最后一行,则把footerview和headerview都设为nil
     98     else
     99     {
    100         self.myTableView.tableFooterView = nil;
    101         self.myTableView.tableHeaderView = nil;
    102     }
    103 }
  • 相关阅读:
    在HTML网页中巧用URL
    技术不是第一位,商业模式是第一位[转帖]
    SQL Server日期计算
    Ms XmlDom 异步装载Xml文件
    陆游词全集
    陈慧娴 3 In 1 MV珍藏集
    下大雪啦
    用Asp+XmlHttp实现RssReader功能
    双绞线的标准接法
    巧把Hotmail邮箱2M轻易扩容到25M
  • 原文地址:https://www.cnblogs.com/zouzf/p/2821986.html
Copyright © 2011-2022 走看看