gpt4 book ai didi

ios - 从 cellForRowAtIndexPath 返回两个不同的单元格

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:05:37 25 4
gpt4 key购买 nike

如何以 cellForRowAtIndexPath 委托(delegate)方式启动我的单元格以返回?

假设有一个var i,i可以是0或者1;所以:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
id cell=nil;
switch (i) {
case 0:{
static NSString *CellIdentifier=@"RecommendTableCellIdentifier";
RecommendTableCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell==nil) {
cell=[[RecommendTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
dataRow=[dataList objectAtIndex:[indexPath row]];
[cell addContent:dataRow];
[cell.wantToSeeButton setTag:[indexPath row]];
[cell.wantToSeeButton addTarget:self action:@selector(iWantToSeeClicked:) forControlEvents:UIControlEventTouchUpInside];
}
break;
case 1:{
static NSString *CellIdentifier=@"WantTableCellIdentifier";
WantTableCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell==nil) {
cell=[[WantTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
dataRow=[dataList objectAtIndex:[indexPath row]];
[cell addContent:dataRow];
[cell.wantToSeeButton setTag:[indexPath row]];
[cell.wantToSeeButton addTarget:self action:@selector(iWantToSeeClicked:) forControlEvents:UIControlEventTouchUpInside];
}
break;

default:
break;
}
return cell;

}

CustomCellA 和 B 都是用类和 xib 定义的。

我怎样才能做到这一点?非常感谢!

最佳答案

这样做:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
id cellToReturn=nil;
switch (i) {
case 0:{
static NSString *CellIdentifier=@"RecommendTableCellIdentifier";
RecommendTableCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell==nil) {
cell=[[RecommendTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
dataRow=[dataList objectAtIndex:[indexPath row]];
[cell addContent:dataRow];
[cell.wantToSeeButton setTag:[indexPath row]];
[cell.wantToSeeButton addTarget:self action:@selector(iWantToSeeClicked:) forControlEvents:UIControlEventTouchUpInside];
}
cellToReturn=cell;
break;
case 1:{
static NSString *CellIdentifier=@"WantTableCellIdentifier";
WantTableCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell==nil) {
cell=[[WantTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
dataRow=[dataList objectAtIndex:[indexPath row]];
[cell addContent:dataRow];
[cell.wantToSeeButton setTag:[indexPath row]];
[cell.wantToSeeButton addTarget:self action:@selector(iWantToSeeClicked:) forControlEvents:UIControlEventTouchUpInside];
}
cellToReturn=cell;
break;

default:
break;
}

return cellToReturn;

}

希望这有助于...:)

关于ios - 从 cellForRowAtIndexPath 返回两个不同的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23106501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com