zoukankan      html  css  js  c++  java
  • UItableview里面的header、footer

    #import "ViewController.h"
    #import "MJRefresh.h"
    @interface ViewController ()
    {
        UITableView *table;
        NSArray * arr;
        UIView * headerView;
    }
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        arr =@[@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18"];
        self.view.backgroundColor = [UIColor grayColor];
        UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 200, 30)];
        label.text =@"ffff";
        label.textColor =[UIColor blackColor];
        headerView =[[UIView alloc]initWithFrame:CGRectMake(0, 64, [UIScreen mainScreen].bounds.size.width,100)];
        headerView.backgroundColor =[UIColor greenColor];
        [headerView addSubview:label];
        [self.view addSubview:headerView];
        
        
        table = [[UITableView alloc]initWithFrame:CGRectMake(0, 174, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height) style:UITableViewStylePlain];
        table.delegate = self;
        table.dataSource = self;
     
        [table.mj_header  beginRefreshing];
        table.mj_header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(downRefresh)];
    
        table.backgroundColor = [UIColor cyanColor];
        [self.view addSubview:table];
    
    }
    
    -(void)downRefresh{
        [table.mj_header endRefreshing];
    
    }
    
    -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
        return  arr.count;
    }
    
    
    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    {
        return 2;
    }
    -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        
        
        static NSString  *CellIdentifier = @"CellIdentifier";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
         if (cell == nil) {
         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
         }
        cell.textLabel.text = arr [indexPath.row];
        return  cell;
    }
    
    //-(NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
    //    
    //    return @"为什么";
    //}
    //
    
    
    -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
        
        return 50;
    }
    -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
        return 50;
    }
    -(UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
        
        if (section==0) {
    
        UIView * view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 50)];
        view.backgroundColor = [UIColor redColor];
        UILabel * footerlabel = [[UILabel alloc]initWithFrame:view.frame];
        footerlabel.text = @"footer1";
        footerlabel.textAlignment = NSTextAlignmentCenter;
        [view addSubview:footerlabel];
            return view;
        }
        else{
            UIView * view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 50)];
            UILabel * footerlabel = [[UILabel alloc]initWithFrame:view.frame];
            footerlabel.text = @"footer2";
            view.backgroundColor = [UIColor redColor];
            footerlabel.textAlignment = NSTextAlignmentCenter;
            [view addSubview:footerlabel];
            return view;
            
        }
    }
    -(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
        
        if (section==0) {
            UIView *Iview =[[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 50)];
            Iview.backgroundColor =[UIColor orangeColor];
            UILabel * footerlabel = [[UILabel alloc]initWithFrame:Iview.frame];
            footerlabel.text = @"header1";
            footerlabel.textAlignment = NSTextAlignmentCenter;
            [Iview addSubview:footerlabel];
            return Iview;
        }
        else{
            UIView *Iview =[[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 50)];
            Iview.backgroundColor =[UIColor cyanColor];
            UILabel * footerlabel = [[UILabel alloc]initWithFrame:Iview.frame];
            footerlabel.text = @"header2";
            footerlabel.textAlignment = NSTextAlignmentCenter;
            [Iview addSubview:footerlabel];
            return Iview;
            
        }
        
    }
    
    
    -(void)scrollViewDidScroll:(UIScrollView *)scrollView
    {
        if (scrollView.tag == 100102) {
            UITableView *tableview = (UITableView *)scrollView;
            CGFloat sectionHeaderHeight = 200;
            CGFloat sectionFooterHeight = 10;
            CGFloat offsetY = tableview.contentOffset.y;
            if (offsetY >= 0 && offsetY <= sectionHeaderHeight)
            {
                tableview.contentInset = UIEdgeInsetsMake(-offsetY, 0, -sectionFooterHeight, 0);
            }else if (offsetY >= sectionHeaderHeight && offsetY <= tableview.contentSize.height - tableview.frame.size.height - sectionFooterHeight)
            {
                tableview.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, -sectionFooterHeight, 0);
            }else if (offsetY >= tableview.contentSize.height - tableview.frame.size.height - sectionFooterHeight && offsetY <= tableview.contentSize.height - tableview.frame.size.height)
            {
                tableview.contentInset = UIEdgeInsetsMake(-offsetY, 0, -(tableview.contentSize.height - tableview.frame.size.height - sectionFooterHeight), 0);
            }
        }
    }

     支持MJRefresh刷新可在header里面添加 滚动视图  footer里面添加按钮

  • 相关阅读:
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    SQL Server 调用dll
    windows7 Sql server 2012 尝试读取或写入受保护的内存。这通常指示其他内存已损坏的修复
  • 原文地址:https://www.cnblogs.com/sayimba/p/5698092.html
Copyright © 2011-2022 走看看