更改静态表视图,如Iphone上的联系人应用程序

时间:2012-05-27 20:18:34

标签: iphone ios5 uitableview static

我知道之前已经问过这个问题,但没人真正回答过。

我正在尝试使用右上角的静态表格视图和“完成/编辑”按钮创建应用。我需要能够在一个状态下隐藏一个单元格,并在该单元格处于另一个状态时显示该单元格。此外,我需要能够在用户选择某些内容时添加单元格。我已经准备好了bool来检测完成/编辑按钮的更改。

所以基本上我的问题是:当用户按下按钮时,如何使表格视图显示单元格,并在用户再次按下时隐藏它。

如何通过代码添加静态单元格。

谢谢!

1 个答案:

答案 0 :(得分:1)

我还没有真正看过iOS 5中的静态表格,因为我认为这需要我不会使用的故事板。

然而,这可以通过经典的分组UITableView轻松完成。在UITableViewDataSource方法中,仅根据编辑状态返回不同的结果。如果您使用editing的文字UITableView模式,则可以执行以下操作(警告:在浏览器中输入):

– (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对中,以便动画全部合并。