设置样式分组表

时间:2008-12-04 04:14:22

标签: iphone objective-c cocoa-touch

因此,在iPhone上创建一个设置样式表是微不足道的。问题是,他们添加了大量代码,因为您的设置有多个选项/样式单元格。一个部分可能有一个检查清单,另一个部分可能有附件披露的单元格可以进一步向下钻取,另一个部分可能是带有UITextFields的标签。

我的问题是,创建此表的最简洁方法是什么。您是否通常创建UITableViewController的子类,然后为每种不同类型的单元子类化UITableViewCell,并为这些单元格编写支持类?这意味着如果您有一个包含4个部分的设置样式表,所有不同类型的单元格,您将在表中加载4个笔尖并导入4个类文件?以编程方式设置框架,视图,文本字段并标记它们以供以后访问?

对此的答案可能是主观的,但我想知道你的专家认为这个常见问题最优雅的方法。

3 个答案:

答案 0 :(得分:6)

最简单的方法是在tableView:cellForRowAtIndexPath:方法中添加控件。

我还建议这样做以帮助您保护代码: A technique for using UITableView and retaining your sanity

答案 1 :(得分:1)

我宁愿在Interface Builder中设置大部分设置,而不是编写一大堆代码来使视觉/布局恰到好处。你可以想象,在iPhone模拟器中需要进行几轮“修改 - 构建 - 测试”,才能按照你想要的方式布置这个特殊的表视图。

我觉得在IB中完成所有这些粗略的视觉变化可能要容易一些,然后通过代码中的标识符动态加载所有自定义UITableViewCell。如果你想要的东西在IB中不可行,你可以对这段代码进行最后一轮调整。

答案 2 :(得分:1)

Three20库(从Facebook iPhone应用程序中提取)有一组现成的单元格,其中包含各种控件。

(不确定你是否想要使用它们.Tanning20会受到“not-invented-here”的影响而尝试子类化并扩展所有内容,所以添加它会给你的项目增加一些混乱。但是至少你可以用它作为一个例子。)

P.S。您的问题激发我在Stack Overflow上打开“What are your favourite UITableView / UITableViewCell tricks?”主题,请查看更多提示。