0

我如何制作这样的表格视图?因此,如果我打开开关,应该添加 2 个单元格。

我已经试过了

[tableView numberForRowsInSection:6];
[tableView reloadData];

但这并没有按预期工作:(

有任何想法吗?

最好的是 2 个部分,第一个部分包含 5 个单元格,第二个部分包含一个关闭开关的单元格,如果开关已更改,则 2 个单元格将添加到第 2 部分。(添加动画:))

嗯。。

在此先感谢,我对每个答案都感到非常兴奋:)

4

1 回答 1

1

你这个-numberForRowsInSection:方法是从哪里来的?据我(和文档)所知,它不存在,也从未作为 UITableView 的方法存在。猜测会让你一事无成,更不用说凭空发明方法了。

也许您应该在尝试之前查看一些涵盖使用 UITableView 的基础知识的教程。我怀疑有人会花时间给你写一个完整的课程来做这个并将它放在一个答案中,如果你不简单地尝试复制/粘贴代码,那么从长远来看你会更好你不明白。存在许多涵盖 UITableView 的文档和示例,这只是考虑 Apple 提供的内容 - UITableView 是一个经常使用的类,在 Google 中搜索“UITableView 教程”之类的内容将为您提供页面和页面的结果。

不过,我将简要介绍您需要做什么: 1. 当然,您可以从 Xcode 中的 UITableViewController 模板开始,然后开始对其进行自定义以满足您的要求...两个部分,但每个部分有很多行等,必要时根据一些模型级对象确定。

  1. 当您在tableView:cellForRowAtIndexPath:.

  2. UISwitch 应该配置为在使用-[UIControl addTarget:action:forControlEvents:]事件UIControlEventValueChanged的开关值更改时向您的视图控制器发送消息。

  3. 在实现此开关值更改的操作方法时,您需要实现逻辑来确定是否应该添加或减去行,然后实际添加或减去行。您可以使用beginUpdates/来获得流畅的行动画行为,而不是简单endUpdatesinsertRowsAtIndexPaths:withRowAnimation:调用.deleteRowsAtIndexPaths:withRowAnimation:reloadData

于 2009-11-29T16:19:03.887 回答