【发布时间】:2012-05-24 07:49:41
【问题描述】:
这是一个有趣的问题。我正在开发一个带有 tableview 的应用程序。最初,tableview 有 4 行,并且所有 4 行在图像视图中都具有相同的图像。当我单击第一行时,我在第一行下手动添加了一些子行并重新加载了表格视图。当我第二次单击之前单击的同一行时,我删除了手动添加的对象并重新加载 tableview。我想更改 1 st 的图像。排在第 1 位时。单击行并第二次单击第一个。行然后显示所有四行相同的前一个图像..请告诉我如何做到这一点。
a=b=c=FALSE
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
///////11111
if(a==FALSE && indexPath.row==0)
{
[array insertObject:@"a" atIndex:1];
[array insertObject:@"b" atIndex:2];
[array insertObject:@"c" atIndex:3];
a=TRUE;
}
else if(indexPath.row==0 && a==TRUE)
{
[array removeObject:@"a"];
[array removeObject:@"b"];
[array removeObject:@"c"];
a=FALSE;
}
else if(a==FALSE && b==FALSE && indexPath.row==1)
{
[array insertObject:@"d" atIndex:2];
[array insertObject:@"e" atIndex:3];
[array insertObject:@"f" atIndex:4];
b=TRUE;
}
else if(a==TRUE && b==FALSE && indexPath.row==4)
{
[array insertObject:@"d" atIndex:5];
[array insertObject:@"e" atIndex:6];
[array insertObject:@"f" atIndex:7];
b=TRUE;
}
else if(a==FALSE && b==TRUE && indexPath.row==1)
{
[array removeObject:@"d"];
[array removeObject:@"e"];
[array removeObject:@"f"];
b=FALSE;
}
else if(a==TRUE && b==TRUE && indexPath.row==4)
{
[array removeObject:@"d"];
[array removeObject:@"e"];
[array removeObject:@"f"];
b=FALSE;
}
/////////3333333333
else if(a==FALSE && b==FALSE && c==FALSE && indexPath.row==2)
{
[array insertObject:@"m" atIndex:3];
[array insertObject:@"n" atIndex:4];
[array insertObject:@"p" atIndex:5];
c=TRUE;
}
else if(a==FALSE && b==TRUE && c==FALSE && indexPath.row==5)
{
[array insertObject:@"m" atIndex:6];
[array insertObject:@"n" atIndex:7];
[array insertObject:@"p" atIndex:8];
c=TRUE;
}
else if(a==TRUE && b==FALSE && c==FALSE && indexPath.row==5)
{
[array insertObject:@"m" atIndex:6];
[array insertObject:@"n" atIndex:7];
[array insertObject:@"p" atIndex:8];
c=TRUE;
}
else if(a==TRUE && b==TRUE && c==FALSE && indexPath.row==8)
{
[array insertObject:@"m" atIndex:9];
[array insertObject:@"n" atIndex:10];
[array insertObject:@"p" atIndex:11];
c=TRUE;
}
else if(a==TRUE && b==TRUE && c==TRUE && indexPath.row==8)
{
[array removeObject:@"m"];
[array removeObject:@"n"];
[array removeObject:@"p"];
c=FALSE;
}
else if(a==TRUE && b==FALSE && c==TRUE && indexPath.row==5)
{
[array removeObject:@"m"];
[array removeObject:@"n"];
[array removeObject:@"p"];
c=FALSE;
}
else if(a==FALSE && b==TRUE && c==TRUE && indexPath.row==5)
{
[array removeObject:@"m"];
[array removeObject:@"n"];
[array removeObject:@"p"];
c=FALSE;
}
else if(a==FALSE && b==FALSE && c==TRUE && indexPath.row==2)
{
[array removeObject:@"m"];
[array removeObject:@"n"];
[array removeObject:@"p"];
c=FALSE;
}
//////4444444444
if(indexPath.row==[array count]-1)
{
---
}
[tableview reloadData];
}
【问题讨论】:
-
向我们展示你有趣的代码;)
-
您需要清除您对 UITableview 中部分的概念以解决您的查询。它比你的问题更有趣
-
您无法添加子行 ..索引路径会随着添加的每一行而改变..您是否有一个自定义单元格,它的行为异常地类似于 subRows?
-
嗨,伙计们,我添加了我的代码,请通过它你会想到一个想法
-
我很确定,你需要在 UITableview 中使用 Sections,它需要的工作量比这要少得多。