每个都有header

作者: 计算机网络  发布:2019-11-30

TableView有3个section,每一个都有header.同一时候EGOTableViewPullRefresh刷新数据,tableviewsection

 

效果图:

 

图片 1

 

 

代码:

 

.h

 

#import <UIKit/UIKit.h>
#import "EGORefreshTableHeaderView.h"

@interface RootViewController : UIViewController
<UITableViewDataSource,UITableViewDelegate,UIScrollViewDelegate,EGORefreshTableHeaderDelegate>
{
    UITableView *_tableView;
    EGORefreshTableHeaderView *refreshView;
    BOOL isloading;
}
@end

 

.m

 

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    //更新背景图
    [self initBackGroundView];
}
#pragma -mark -functions
-(void)initBackGroundView
{
    //tableView
    _tableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 100, 320, 400) style:UITableViewStylePlain];
    _tableView.delegate=self;
    _tableView.dataSource=self;
    [self.view addSubview:_tableView];
    _tableView.showsVerticalScrollIndicator=NO;
    [_tableView reloadData];

    //下拉刷新
    refreshView=[[EGORefreshTableHeaderView alloc]initWithFrame:CGRectMake(0, -460, 320, 460)];
    refreshView.delegate=self;
    refreshView.backgroundColor=[UIColor blackColor];
    [_tableView addSubview:refreshView];
    [refreshView refreshLastUpdatedDate];

}
#pragma -mark -UITableViewDelegate
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 105;
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 30;
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 3;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:@"ID"];
    if ( cell== nil) {
        cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"ID"];
    }
    cell.selected=NO;
    if (indexPath.section==0) {
        cell.textLabel.text=@"0";
        cell.backgroundColor=[UIColor greenColor];

    }
    else if(indexPath.section==1)
    {
        cell.textLabel.text=@"1";
        cell.backgroundColor=[UIColor redColor];
    }
    else if(indexPath.section==2)
    {
        cell.textLabel.text=@"2";
        cell.backgroundColor=[UIColor orangeColor];
    }
    return cell;

}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *view=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];
    view.backgroundColor=[UIColor blackColor];

    UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(10, 0, 100, 30)];
    label.backgroundColor=[UIColor clearColor];
    label.textColor=[UIColor whiteColor];
    if (section==0) {
        label.text=@"电影";
    }else if(section==1)
    {
        label.text=@"电视剧";
    }else if(section==2)
    {
        label.text=@"动漫";
    }
    [view addSubview:label];
    return  view;
}
#pragma -mark -EGORefreshTableHeaderDelegate
//返回当前是刷新还是无刷新状态
-(BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView *)view
{
    return isloading;
}
//返回刷新时间
-(NSDate *)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView *)view
{
     return [NSDate date];
}
//下拉触发事件
-(void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView *)view
{
    isloading=YES;
    //更新数据
}
#pragma -mark -UIScrollerViewDelegate
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    [refreshView egoRefreshScrollViewDidEndDragging:scrollView];
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    [refreshView egoRefreshScrollViewDidScroll:scrollView];
}

 

#import  <UIKit/UIKit.h>

怎给tableView section header制作三个动漫`效果?

-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { _tableHeader = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; _tableHeader.backgroundColor = [UIColor redColor]; _tableHeader.alpha = 0; [UIView animateWithDuration:1.0 animations:^{ [_tableHeader setAlpha:1.0f]; }]; return _tableHeader;}  

//首页

iOS 开垦tableview的滑动删除,当section中cell删除到为0个的时怎把section的header也删除?

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
再也设section header 的中度应该能完成。  

效果图: 代码: .h #import UIKit/UIKit.h #import " EGORefreshTableHea...

@interfaceHomePageViewController :UIViewController

@end

#import "HomePageViewController.h"

#import "QuickEnterTableViewCell.h"

#import "HomePageCourseTableViewCell.h"

#import "EliteSchoolTableViewCell.h"

#import "TeachersOfFamousSchoolTableViewCell.h"

#import "HomePageDataTableViewCell.h"

#import "HomePageHeaderView.h"

//@interface 阐明类型,后边<>放的是其生机勃勃类要兑现的代办<代理项目>

@interface HomePageViewController ()

//证明属性(weak 和strong是对目的内容进行描述的)

@property(nonatomic,strong)UITableView* homePageTableView;

@end

@implementationHomePageViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view

    CGRectmainScreen=[UIScreenmainScreen].bounds;

    //homePageTableView set方法

    self.homePageTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, mainScreen.size.width, mainScreen.size.height) style:UITableViewStyleGrouped];

    //设置代理,由何人完毕

    //tableview有五个举足轻重的代理,叁个是数据源代理,叁个是用来操作的代办

    self.homePageTableView.delegate=self;

    self.homePageTableView.dataSource=self;

    //_homePageTableView get方法

    //每三个view都有一个addSubview的主意,用来增多子视图

    [self.view addSubview:_homePageTableView];

    HomePageHeaderView* headerView = [[HomePageHeaderViewalloc]initWithFrame:CGRectMake(0,0, mainScreen.size.width,160)];

    self.homePageTableView.tableHeaderView= headerView;

    /*

    1.重回值使用

    2.static

    3.UITableView、UITableViewCell

     */

}

//mark-标志的意思,什么是宏定义

#pragma mark-UITableViewDelegate

//TableView 有稍许块,每一种块,都得以设置头视图,假设不落到实处那些措施,暗许是一块

-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView

{

    return 1;

}

//多个代理(那多少个代理必须兑现)

//代理1:重返有稍许行数据

//每一块有1行

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

{

   /* //给第一块重临他的行数

    if(section==0)

    {

        return 1;

    }

    */

    return 4;

}

//代理2:重回那风流罗曼蒂克行的突显内容样式

//TableView 有复用机制    UITableViewCell是被复用的

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

{

    if(indexPath.row==0)

    {

        static NSString * idf=@"tableleviewcell_Id";

        //中括号表示调用方法[对象 空格 方法:参数 空格 方法:参数]

        QuickEnterTableViewCell * cell=[tableView dequeueReusableCellWithIdentifier:idf];

        if(!cell)

        {

            cell = [[QuickEnterTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:idf];

        }

        returncell;

    }

    elseif(indexPath.row==1)

    {

        static NSString * idf =@"homepageCourseCell_idf";

        //tableView dequeueReusableCellWithIdentifier的复用池

        HomePageCourseTableViewCell* cell = [tableViewdequeueReusableCellWithIdentifier:idf];

        if(cell==nil)

        {

            cell = [[HomePageCourseTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:idf];

        }

        returncell;

    }

    elseif(indexPath.row==2)

    {

        static NSString * idf = @"homePageDataTableViewCell_idf";

        HomePageDataTableViewCell* cell = [tableViewdequeueReusableCellWithIdentifier:idf];

        if(cell ==nil) {

            cell = [[HomePageDataTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:idf];

        }

        returncell;

    }

    elseif(indexPath.row==3)

    {

        static NSString * idf = @"eliteSchoolTableViewCell_idf";

        EliteSchoolTableViewCell* cell = [tableViewdequeueReusableCellWithIdentifier:idf];

        if(cell==nil)

        {

            cell = [[EliteSchoolTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:idf];

        }

        returncell;

    }

    elseif(indexPath.row==4)

    {

        static NSString * idf = @"teachersOfFamousSchoolTableViewCell_idf";

        TeachersOfFamousSchoolTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:idf];

        if(cell ==nil) {

            cell = [[TeachersOfFamousSchoolTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:idf];

        }

        returncell;

    }

    return nil;

}

//重返的类型是CGFloat

//设置cell的高度

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

{

    if(indexPath.row==3) {

        return145;

    }

    else

    {

        return100;

    }

}

//重返header中度的艺术

- (CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section

{

    return 44;

}

//重临header内容,样式突显为系统的一定样式

//对象类型后料定要加*(除了CGFloat、NSInteger、int、float、double)

- (NSString*)tableView:(UITableView*)tableView titleForHeaderInSection:(NSInteger)section

{

    //@""表示无数据的三个字符串

    return @"";

}

//UIView全数视图类的基类

//设置header的自定义视图

- (UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section

{

    UIScreen* mainScreen = [UIScreenmainScreen];

    UIView* headerView =[[UIViewalloc]initWithFrame:CGRectMake(0,0, mainScreen.bounds.size.width,44)];

    returnheaderView;

}

@end

本文由今晚开什么码发布于计算机网络,转载请注明出处:每个都有header

关键词: