YIem`s Blog -心比天高命比纸薄-链接找不到的请在站内搜索内容！ - uitableview
//// RootViewController.m// UI9_UITableView协议方法//// Created by YIem on 15/12/17.// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.//import "RootViewController.h"@interface RootViewController ()<UITableViewDataSource, UITableViewDelegate>@end@implementation RootViewController(void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor whiteColor]; //////tableView UITableView *tableView = [[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain]; tableView.delegate = self; tableView.dataSource = self; [self.view addSubview:tableView]; [tableView release]; // tableView的头部脚部区域 // 头 (只有高度起作用) UIView *header = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; header.backgroundColor = [UIColor redColor]; tableView.tableHeaderView = header; // 脚(x值和高度起作用) UIView *foot = [[UIView alloc]initWithFrame:CGRectMake(0, 100, 100, 100)]; foot.backgroundColor = [UIColor yellowColor]; tableView.tableFooterView = foot; // tableView结构 // tableHeaderView + tableView + tableFooterView // tableView -> section + row // section -> header + row + footer }warning 必须实现的两个协议方法// 行数(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return 10;}(void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}// 设置cell(UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; if (!cell) { cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"] autorelease];}// 设置 // indePath 定位信息 包含section和row cell.textLabel.text = [NSString stringWithFormat:@"s: %ld, r: %ld", indexPath.section, indexPath.row]; return cell;}pragma mark - 其他协议方法(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 3;}// 分区头名称(NSString )tableView:(UITableView )tableView titleForHeaderInSection:(NSInteger)section{ return @"头头头";}// 分区脚部名称(NSString )tableView:(UITableView )tableView titleForFooterInSection:(NSInteger)section{ return @"脚脚脚";}// 自定义头部区域(UIView )tableView:(UITableView )tableView viewForHeaderInSection:(NSInteger)section{ UIView *header = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; header.backgroundColor = [UIColor grayColor]; return [header autorelease];}// 自定义脚部区域(UIView )tableView:(UITableView )tableView viewForFooterInSection:(NSInteger)section{ UIView *footer = [[UIView alloc]init]; footer.backgroundColor = [UIColor blackColor]; return [footer autorelease];}// 高度控制// 行高(CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath{ return 100;}// 头部高度(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 50;}// 脚部高度(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ return 150;}// tableView右部索引栏(NSArray )sectionIndexTitlesForTableView:(UITableView )tableView{ return @[@"a", @"1", @"啦"];}// tableView点击方法(void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath{ NSLog(@"点击"); // 取消选中效果 [tableView deselectRowAtIndexPath:indexPath animated:YES];}/*pragma mark - Navigation// In a storyboard-based application, you will often want to do a little preparation before navigation(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller.}*/@end