具有多个图例和标签的子类UItableViewCell

时间:2012-02-28 12:44:33

标签: iphone objective-c uitableview interface-builder

我知道这个问题已经以一百种不同的方式被提及很多(那就是在这个网站上)。但我正在努力将所有部分组合在一起。

我希望每个UITableViewCell 看起来像这样:

enter image description here

它有多个传说和几个领域。传说是静态的并且不会改变,但是相应的标签在宽度和高度上会有所不同。因此细胞也是如此。我需要传说始终与他们的标签保持一致。

我尝试使用Interface Builder执行此操作,但并不真正了解自动调整大小。虽然我很高兴在代码中这样做。

有人知道如何做到这一点,或者至少有一些指向教程,源代码等的良好链接?

2 个答案:

答案 0 :(得分:0)

为每个UITableViewCell添加一个tableview。外部tableView将负责保存所有单元格,每个单元格将是一个包含每个参数的单元格的事件。

本教程将为您提供有关如何进行设置的见解。

http://iosstuff.wordpress.com/2011/06/29/adding-a-uitableview-inside-a-uitableviewcell/

答案 1 :(得分:0)

在单元格中放置一个完整的表视图是 crazytalk 。也许有人让它实际运行 - 这并不意味着它是最佳实践或良好实践。

我会在提出一个非常实际的建议之后回答你的问题。请考虑遵循Apple的指导原则,在此表格的单元格中仅列出每个事件的摘要,并允许用户下推到另一个视图控制器以查看特定事件的详细信息。这可能会帮助您更快地开发应用程序并进入市场,然后您可以考虑在运行时自定义单个单元格高度等高级内容。

话虽这么说,如果你坚持把所有的鸡蛋放在这个篮子里,那么我认为你需要在IB中实现你的表格视图单元格,注意所有内容标签框架尺寸的细节,然后,在运行时间,使用NSString的sizeWithFont:constrainedToSize:方法之一来确定标签的大小。让他们那么大。然后从该数据计算单元格的高度,并从表格视图的tableView:heightForRowAtIndexPath:返回该值。这就是我几年前在应用程序中实现此功能的方式。 (坦率地说,我不确定它是否仍在使用。)可能有一些更好的方法来确定CoreText中的标签大小,我还没看过。

更好的选择是限制自己限制每个标签中可放入的文本长度。然后,您可以静态定义标签并使用恒定大小的单元格。把它放在IB中并不难。只需将所有内容都放好,并确保为要在代码中操作的每个对象创建IBOutlet和XCode / IB连接。

祝你好运!