我知道这个问题以前有人问过,但没有人真正回答过。
我正在尝试制作一个具有静态表格视图和右上角的完成/编辑按钮的应用程序。我需要能够在单元格处于一种状态时隐藏该单元格,并在处于另一种状态时显示该单元格。此外,我还需要能够在用户选择某些内容时添加单元格。我已经准备好了布尔值来检测完成/编辑按钮的变化。
所以基本上我的问题是:如何使表视图在用户按下按钮时显示单元格,并在用户再次按下按钮时隐藏它。
以及如何通过代码添加静态单元格。
谢谢!
我还没有真正看过iOS 5中的静态表格,因为我相信这需要故事板,我不使用。
然而,这可以通过经典的分组UITableView
轻松实现。在您的UITableViewDataSource
中,方法仅根据编辑状态返回不同的结果。 如果您使用的是UITableView
的文字editing
模式,则可以执行以下操作(警告:在浏览器中键入):
– (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
if ([tableView isEditing]) {
// Return number of sections when editing
}
else {
// Return number of sections when not editing
}
}
– (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section
{
if ([tableView isEditing]) {
// Return number of rows in section when editing
}
else {
// Return number of rows in section when not editing
}
}
// etc.
我不记得-setEditing:
过渡是否为您处理动画,但如果没有,那么您需要使用-insertRowsAtIndexPaths:withRowAnimation:
和相关方法来通知表视图行数、节数等已更改,并且它应该根据新布局进行动画处理。 最后,如果您要添加/删除多个行/部分,您可能希望像往常一样将您的工作包装在一个-beginUpdates
/-endUpdates
对中,以便所有动画都合并。