我如何制作这样的表格视图?因此,如果我打开开关,则应添加2个单元格。
我已经尝试了
[tableView numberForRowsInSection:6];
[tableView reloadData];
但是这不能按预期工作:(
任何想法?
最好的是2个部分,第一部分包含5个单元格,第二部分包含一个单元格,关闭开关,如果Switch已更改,2个单元格将添加到第2部分。(添加动画:) )
MHH ..
在此先感谢,我对每个答案都非常兴奋:)
答案 0 :(得分:1)
你从哪里拉出这个-numberForRowsInSection:
方法?据我所知(和文档),它不存在,并且从未作为UITableView的方法存在。猜测会让你无处可去,更不用说从空气中发明方法了。
在尝试此操作之前,您可能应该查看一些涵盖使用UITableView基础知识的教程。我怀疑有人会花时间给你写一个完整的课程来做这个并把它放在一个答案中,如果你不是简单地尝试复制/粘贴代码那么你会在长期内好多了。你不明白。有很多文档和示例都涵盖了UITableView,而这只是考虑Apple提供的内容 - UITableView是一个经常使用的类,它在Google上搜索类似“UITableView教程”的内容,它将为您提供页面和页面结果。
我会简要介绍一下你需要做什么,但是: 1.当然,您可以从Xcode中的UITableViewController模板开始,然后开始自定义它以满足您的要求......两个部分,无论每个部分有多行,等等,根据需要确定基于某些模型级对象。
在tableView:cellForRowAtIndexPath:
中创建新的单元格对象时,您需要创建自定义UITableViewCell子类或自定义默认的UITableViewCell布局(至少通过添加UISwitch子视图)。
UISwitch应配置为当-[UIControl addTarget:action:forControlEvents:]
事件使用UIControlEventValueChanged
更改开关的值时,向视图控制器发送消息。
在执行此切换值更改的操作方法时,您需要实现逻辑以确定是应添加还是减去行,然后实际添加或减去行。您可以使用beginUpdates
/ endUpdates
,insertRowsAtIndexPaths:withRowAnimation:
和deleteRowsAtIndexPaths:withRowAnimation:
来获得良好的平滑行动画行为,而不是简单地调用reloadData
。