UITableView + 协议执行顺序
2014-06-10 21:05
85 查看
TableView的数据源UITableViewDataSource
TableView的委托UITableViewDelegate
一、建立 UITableView
UITableView *table = [[UITableView alloc]initWithFrame:CGRectMake(0, 100, 320, 366)];
table.separatorColor = [[UIColor alloc] initWithRed:0.8 green:0.8 blue:0.8 alpha:1];
table.tag=100;
table.scrollEnabled = YES;
table.dataSource = self;
table.delegate = self;
table.rowHeight = 60;
[self.view addSubview:table];
[table release];
二、UITableView数据重新加载
[table reloadData];
三、UITableView各Method说明
//右侧添加一个索引表,return
list of section titles to display in section index view (e.g. "ABCD...Z#")
- (NSArray *)sectionIndexTitlesForTableView:(UITableView
*)tableView{
return TitleData;
}
// Section Titles
//每个section显示的标题
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
return @"";
}
//指定有多少个分区(Section),默认为1
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 4;
}
//指定每个分区中有多少行,默认为1
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
}
//绘制Cell
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentify = @"cellIdentify";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
cellIdentify];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:
cellIdentify] autorelease];
}
cell.imageView.image=image;//未选cell时的图片
cell.imageView.highlightedImage=highlightImage;//选中cell后的图片
cell.text=//.....
return cell;
}
//行缩进
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath; // return 'depth'
of row for hierarchies{
NSUInteger row = [indexPath
row];
return row;
}
//改变行的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 40;
}
//选中Cell响应事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失
}
//划动cell是否出现del按钮
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
}
//编辑样式
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
}
//设置Section标题内容
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
}
四.自定义cell
五.iOS
UITableViewDelegate UITableViewDataSource 执行顺序
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
#pragma mark - Table view delegate
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
#pragma mark - Table view data source
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
#pragma mark - Table view delegate
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
#pragma mark - Table view delegate
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
#pragma mark - Table view data source
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
#pragma mark - Table view delegate
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;
TableView的委托UITableViewDelegate
一、建立 UITableView
UITableView *table = [[UITableView alloc]initWithFrame:CGRectMake(0, 100, 320, 366)];
table.separatorColor = [[UIColor alloc] initWithRed:0.8 green:0.8 blue:0.8 alpha:1];
table.tag=100;
table.scrollEnabled = YES;
table.dataSource = self;
table.delegate = self;
table.rowHeight = 60;
[self.view addSubview:table];
[table release];
二、UITableView数据重新加载
[table reloadData];
三、UITableView各Method说明
//右侧添加一个索引表,return
list of section titles to display in section index view (e.g. "ABCD...Z#")
- (NSArray *)sectionIndexTitlesForTableView:(UITableView
*)tableView{
return TitleData;
}
// Section Titles
//每个section显示的标题
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
return @"";
}
//指定有多少个分区(Section),默认为1
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 4;
}
//指定每个分区中有多少行,默认为1
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
}
//绘制Cell
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentify = @"cellIdentify";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
cellIdentify];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:
cellIdentify] autorelease];
}
cell.imageView.image=image;//未选cell时的图片
cell.imageView.highlightedImage=highlightImage;//选中cell后的图片
cell.text=//.....
return cell;
}
//行缩进
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath; // return 'depth'
of row for hierarchies{
NSUInteger row = [indexPath
row];
return row;
}
//改变行的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 40;
}
//选中Cell响应事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失
}
//划动cell是否出现del按钮
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
}
//编辑样式
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
}
//设置Section标题内容
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
}
四.自定义cell
五.iOS
UITableViewDelegate UITableViewDataSource 执行顺序
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
#pragma mark - Table view delegate
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
#pragma mark - Table view data source
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
#pragma mark - Table view delegate
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
#pragma mark - Table view delegate
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
#pragma mark - Table view data source
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
#pragma mark - Table view delegate
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;
相关文章推荐
- UITableView执行顺序及Segue必须要实现的方法
- 【iOS】UITableView delegate/dataSource方法执行顺序
- UITableView的全部属性、方法以及代理方法执行顺序,看过之后肯定有收获---董鑫
- 在UITableView中iOS UITableViewDelegate UITableViewDataSource执行顺序
- Checklists学习日志之UITableView的全部属性、方法以及代理方法执行顺序
- XZ_iOS之UITableView的代理方法的执行顺序
- 关于UIScrollViewDelegate协议中每个回调函数的意义及执行顺序的理解
- UItableview全部属性、方法以及代理方法执行顺序
- UITableView代理方法执行顺序测试
- UITableView方法的执行顺序
- initWithNibName与viewDidLoad的执行关系以及顺序
- ViewGroup onInterceptTouchEvent,ViewGroup onTouchEvent,View onTouchEvent执行顺序说明
- iOS UITableView 滑动时顺序混乱或多个cell内容相同
- initWithNibName与viewDidLoad的执行关系以及顺序
- initWithNibName和viewDidLoad执行顺序
- TableView的属性和方法的执行顺序
- 关于UIScrollViewDelegate协议中每个回调函数的意义及执行
- 关于UIScrollViewDelegate协议中每个回调函数的意义及执行
- 关于UIScrollViewDelegate协议中每个回调函数的意义及执行
- UITableView中didSelect方法没有执行的可能原因