2009-11-29 57 views
0

我如何制作这样的表格视图?所以如果我打开开关,应该添加2个单元。如何在iphone上的网络设置应用程序中创建一个TableView?

我已经尝试过

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

但是这并不如预期:(

什么想法?

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

m HH ..

在此先感谢,我在每一个答案:)

回答

1

你在哪里拉从这个-numberForRowsInSection:方法很兴奋?据我(和文档)知道,它不存在,并从来没有作为UITableView的方法存在。猜测会让你无处可逃,更不用说从空气中发明方法。

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

我会给你一个你需要做什么的快速概览,尽管如下: 1.当然,你可以从Xcode中的UITableViewController模板开始,并开始自定义它以适应你的需求......两节,然而,每节的许多行等,如果需要的话,根据某些模型级别的对象来确定。

  • 你需要(至少增加一个UISwitch子视图)要么创建一个自定义的UITableViewCell子类或自定义默认的UITableViewCell布局好一点,当你创建新小区对象tableView:cellForRowAtIndexPath:

  • 应将UISwitch配置为当交换机的值使用-[UIControl addTarget:action:forControlEvents:]作为UIControlEventValueChanged事件更改时向您的视图控制器发送消息。

  • 在实现此开关值更改的操作方法时,您需要实现逻辑以确定是应该添加还是减去行,然后实际添加或减去行。您可以使用beginUpdates/endUpdates,insertRowsAtIndexPaths:withRowAnimation:deleteRowsAtIndexPaths:withRowAnimation:以获得很好的平滑行动画行为,而不是简单地调用reloadData

  • +0

    感谢您的回答。我认为我理解UITableView相当不错(我读过几本书等)。我认为只需编辑行数就可以了。我没有想过插入一行:)感谢提示。现在我将从哪里开始。下次我会先阅读文档:) – jacky 2009-11-29 16:28:14

    相关问题