分享

UITableView带section的使用

 oskycar 2015-01-01

 //

//  HomeViewController.h

//  TestTableview

//

//  Created by haifeng on 13-9-12.

//  Copyright (c) 2013 haifeng. All rights reserved.

//


#import


@interface HomeViewController : UIViewController<</span>UITableViewDelegate,UITableViewDataSource>{


    UITableView *listTableView;

    NSArray *sectionTitleArray;

}


@end



 

//

//  HomeViewController.m

//  TestTableview

//

//  Created by haifeng on 13-9-12.

//  Copyright (c) 2013 haifeng. All rights reserved.

//


#import "HomeViewController.h"


@interface HomeViewController ()


@end


@implementation HomeViewController


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {

        // Custom initialization

    }

    return self;

}


- (void)viewDidLoad

{

    [super viewDidLoad];

// Do any additional setup after loading the view.

    

    sectionTitleArray = [NSArray arrayWithObjects:@"1-10",@"11-20",@"21-30",@"31-40",@"41-50",@"51-60",@"61-70",@"71-80",@"81-90",@"91-100", nil];

    

    UITableView *tv = [[UITableView alloc] initWithFrame:self.view.bounds];

    tv.dataSource = self;

    tv.delegate = self;

    listTableView = tv;

    [self.view addSubview:tv];

    

    UIView *hview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320.f, 200.f)];

    hview.backgroundColor = [UIColor orangeColor];

    listTableView.tableHeaderView = hview;

}



//右边索引 字节数(如果不实现 就不显示右侧索引)

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {

    

return sectionTitleArray;

}


//section (标签)标题显示

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

    

return [sectionTitleArray objectAtIndex:section];

}



//标签数

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

return 10;

}


// 设置section的高度

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

    if (section == 0) {

        return 80;

    }

    return 20;

}


//点击右侧索引表项时调用

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {

    

    NSString *key = [sectionTitleArray objectAtIndex:index];

    NSLog(@"sectionForSectionIndexTitle key=%@",key);

    if (key == UITableViewIndexSearch) {

        [listTableView setContentOffset:CGPointZero animated:NO];

        return NSNotFound;

    }

    

return index;

}


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


    UIView *v = nil;

    if (section == 0) {

        v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 80)];

        [v setBackgroundColor:[UIColor grayColor]];

        

        UILabel *labelTitle = [[UILabel alloc] initWithFrame:CGRectMake(50.0f, 10.0f, 200.0f, 30.0f)];

        [labelTitle setBackgroundColor:[UIColor clearColor]];

        labelTitle.textAlignment = NSTextAlignmentCenter;

        labelTitle.text = @"第一个section 定制页面";

        [v addSubview:labelTitle];

    }

    

    return v;

}


// 设置cell的高度

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

{

    return 44;

}



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

    

    return 10;

}


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

    static NSString *detailIndicated = @"tableCell";

    

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:detailIndicated];

    

    if (cell == nil) {

        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:detailIndicated];

        cell.tag = indexPath.row;

    }

    cell.textLabel.text = [NSString stringWithFormat:@"%d",10*indexPath.section + indexPath.row + 1];

    

    return cell;

}


- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多