我有一个像..
单元格 xxxx、yyyy 和 zzzz 是固定的,因此对它们没有点击动作。但是单元格“显示”是可点击的。单击“显示”单元格时,我想在“显示”单元格下显示一些六个单元格。
因此,单击“显示”单元格后,表格将如下所示。
在这里,我所做的是,
将“显示”更改
cell.textLabel.text
为“隐藏”[tableView reloadData];
方法中使用tableView:didSelectRowAtIndexPath:
。
我的代码是:
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"My title";
// This Mutable array contains the hided cell objects
hidedCellsArray = [[NSMutableArray alloc] initWithObjects:@"Cell 1", @"Cell 2", @"Cell 3", @"Cell 4", @"Cell 5", @"Cell 6", nil];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
else if(indexPath.section == 1)
{
if (isShowClicked) //isShowClicked is a boolean value that determines whether the show cell was clicked or not
{
if (indexPath.row == 0)
{
cell.textLabel.text = @"Hide";
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
cell.textLabel.textAlignment=UITextAlignmentCenter;
}
else
{
cell.textLabel.text = [hidedCellsArray objectAtIndex:indexPath.row-1];
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
cell.textLabel.textAlignment=UITextAlignmentCenter;
}
}
else
{
cell.textLabel.text = @"Show";
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
cell.textLabel.textAlignment=UITextAlignmentCenter;
}
}
...
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 1)
{
if (isShowClicked)
{
isShowClicked = NO;
}
else
{
isShowClicked = YES;
}
[tableView reloadData];
}
}
我需要的:
当我单击显示/隐藏按钮时,我想为单元格设置动画。我才知道,
insertRowsAtIndexPaths: withRowAnimation:
要达到插入效果,应该是用的方法。但我真的没有看到任何简单的例子。我应该包括任何其他方法setEditing:animated:
或tableView: commitEditingStyle: forRowAtIndexPath:
方法来做到这一点吗?第二件事是,在动画(单元格插入)发生之前,我想将 tableview 移动到第 2 节(即“显示”单元格)到顶部。然后应该发生插入单元格的动画。因此,单击显示单元格后表格的最终外观应该像..
需要帮助..我只是困惑!