Ios 在xib的每一行中使用uitableview自定义多个单元格
朋友们, 我想在xib文件的表视图中添加多个自定义单元格。 详细地说,我想为表中的每一行添加不同的单元格。我尝试了下面的代码,但似乎不起作用。我只能为表中的所有行自定义一个单元格。查看代码如下:我尝试了两个代码 代码1如下所示Ios 在xib的每一行中使用uitableview自定义多个单元格,ios,objective-c,iphone,uitableview,Ios,Objective C,Iphone,Uitableview,朋友们, 我想在xib文件的表视图中添加多个自定义单元格。 详细地说,我想为表中的每一行添加不同的单元格。我尝试了下面的代码,但似乎不起作用。我只能为表中的所有行自定义一个单元格。查看代码如下:我尝试了两个代码 代码1如下所示 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSString *identifier;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *identifier;
identifier=@"tablecell";
tablecell *cell = (tablecell*)[tableView dequeueReusableCellWithIdentifier:identifier];
if (cell==nil)
{
NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"tablecell" owner:self options:nil];
cell=[nib objectAtIndex:0];
}
cell.name.text=@"gopi";
return cell;
if (indexPath.row==1)
{
NSString *identifier1;
identifier1=@"gopicell";
gopicell *cell1=(gopicell*)[tableView dequeueReusableCellWithIdentifier:identifier];
if (cell1==nil)
{
NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"gopicell" owner:self options:nil];
cell1=[nib objectAtIndex:0];
}
cell1.gopilabel.text=@"sabari";
return cell1;
}
}
它只显示一个自定义单元格,所以我尝试了代码2
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *identifier;
if (indexPath.row==0)
{
identifier=@"tablecell";
tablecell *cell = (tablecell*)[tableView dequeueReusableCellWithIdentifier:identifier];
if (cell==nil)
{
NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"tablecell" owner:self options:nil];
cell=[nib objectAtIndex:0];
}
cell.name.text=@"gopi";
return cell;
}
else if(indexPath.row==1)
{
identifier=@"gopicell";
gopicell *cell1=(gopicell*)[tableView dequeueReusableCellWithIdentifier:identifier];
if (cell1==nil)
{
NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"gopicell" owner:self options:nil];
cell1=[nib objectAtIndex:0];
}
cell1.gopilabel.text=@"sabari";
return cell1;
}
return nil;
}
我知道这句话是错误的,但我不知道在这里返回什么,如果我有,是否可以为每行自定义多个单元格如下更新您的代码。检查偶数和奇数单元格,并将自定义单元格放入表视图中
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *identifier;
if (indexPath.row %2 == 0)
{
identifier=@"tablecell";
tablecell *cell = (tablecell*)[tableView dequeueReusableCellWithIdentifier:identifier];
if (cell==nil)
{
NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"tablecell" owner:self options:nil];
cell=[nib objectAtIndex:0];
}
cell.name.text=@"gopi";
return cell;
}
else if(indexPath.row %2 == 1)
{
identifier=@"gopicell";
gopicell *cell1=(gopicell*)[tableView dequeueReusableCellWithIdentifier:identifier];
if (cell1==nil)
{
NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"gopicell" owner:self options:nil];
cell1=[nib objectAtIndex:0];
}
cell1.gopilabel.text=@"sabari";
return cell1;
}
return nil;
}
查看此处的链接说明][1]希望对您有所帮助。[1] :你能附上一张图片吗。您到底想要什么?x%2表示x/2的剩余部分,即1或0