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 }
  • 相关阅读:
    linux常用命令
    mysql 开发基础系列20 事务控制和锁定语句(上)
    sql server 性能调优之 资源等待 CXPACKET
    mysql 开发基础系列19 触发器
    mysql 开发基础系列18 存储过程和函数(下)
    mysql 开发基础系列17 存储过程和函数(上)
    sql server 性能调优之 资源等待PAGEIOLATCH
    mysql 开发基础系列16 视图
    mysql 开发基础系列15 索引的设计和使用
    sql server 性能调优之 当前用户请求分析 (1)
  • 原文地址:https://www.cnblogs.com/zouzf/p/2821986.html
Copyright © 2011-2022 走看看