indexpath.section和indexpath.row分别什么时候用
展开全部
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//1 创建可重用的cell
static NSString *reuseId = @"car";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseId];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseId];
}
//2 获取数据,给cell内部的子控件赋值
HMCarGroup *carGroup = self.carGroups[indexPath.section];
HMCar *car = carGroup.cars[indexPath.row];
cell.imageView.image = [UIImage imageNamed:car.icon];
cell.textLabel.text = car.name;
//3 返回cell
return cell;
}
这个例子用的是indexPath.section
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
HMHero *hero = self.heroes[indexPath.row];
//弹出一个修改名称的对话框
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
//设置alertview上显示文本框
alertView.alertViewStyle = UIAlertViewStylePlainTextInput;
//给文本框赋值
[alertView textFieldAtIndex:0].text = hero.name;
//记录当前点击的cell的row
alertView.tag = indexPath.row;
[alertView show];
}
这个例子用的是indexPath.row。
去网上搜索了一下结果,
indexpath.section : 代表单元格(cell)的第几个分区
indexpath.row: 代表分区的第几行,
假如你是用代码方式直接将控件(如UILabel、UIButton等)加到UITableView的cell中去的话,,,在出了 [cpp] view plaincopyprint? - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 。
//1 创建可重用的cell
static NSString *reuseId = @"car";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseId];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseId];
}
//2 获取数据,给cell内部的子控件赋值
HMCarGroup *carGroup = self.carGroups[indexPath.section];
HMCar *car = carGroup.cars[indexPath.row];
cell.imageView.image = [UIImage imageNamed:car.icon];
cell.textLabel.text = car.name;
//3 返回cell
return cell;
}
这个例子用的是indexPath.section
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
HMHero *hero = self.heroes[indexPath.row];
//弹出一个修改名称的对话框
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
//设置alertview上显示文本框
alertView.alertViewStyle = UIAlertViewStylePlainTextInput;
//给文本框赋值
[alertView textFieldAtIndex:0].text = hero.name;
//记录当前点击的cell的row
alertView.tag = indexPath.row;
[alertView show];
}
这个例子用的是indexPath.row。
去网上搜索了一下结果,
indexpath.section : 代表单元格(cell)的第几个分区
indexpath.row: 代表分区的第几行,
假如你是用代码方式直接将控件(如UILabel、UIButton等)加到UITableView的cell中去的话,,,在出了 [cpp] view plaincopyprint? - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询