1

我知道以前有人问过这个问题,但没有人真正回答过。

我正在尝试制作一个带有静态表格视图和右上角的完成/编辑按钮的应用程序。我需要能够在单元格处于一种状态时隐藏它,并在它处于另一种状态时显示该单元格。当用户选择某些东西时,我还需要能够添加单元格。我已经准备好使用 bool 来检测 Done / Edit 按钮的变化。

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

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

谢谢!

4

1 回答 1

1

我还没有真正看过 iOS 5 中的静态表格内容,因为我认为这需要我不使用的情节提要。

然而,这可以通过经典的 grouped 轻松完成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对中,以便动画全部合并。

于 2012-05-28T02:09:06.057 回答