2012-02-28 60 views
0

我知道这个问题已被问及很多在一百种不同的方式(以及就在这个网站上)。但我努力把所有的东西放在一起。具有多个图例和标签的子类UItableViewCell

我想UITableViewCell看起来像这样:

enter image description here

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

我试图使用Interface Builder来做到这一点,但并不真正了解自动调整。尽管我很高兴在代码中做到这一点。

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

+0

等等那么这张照片是你的桌子还是应该是一个单元格? – 2012-02-28 14:10:33

+0

只有一个细胞。每个单元格表示事件列表中的事件 – JonWells 2012-02-28 14:19:25

回答

0

把全表视图在细胞内是crazytalk。也许有人把它实际运行 - 这并不意味着它是最好的实践或良好的做法。

我会在做出一个非常脚踏实地的建议后回答你的问题。请考虑遵循Apple的指导方针,只需在您的单元格中为此表格添加摘要,并允许用户下推到另一个视图控制器以查看特定事件的详细信息。这可能会帮助您更快地开发应用并推向市场,然后您可以考虑高级内容,例如在运行时自定义单个单元高度。这就是说,如果你坚持把所有的鸡蛋都放在这个篮子里,那么我认为你需要在IB中实现你的表格视图单元格,注意所有内容标签框架尺寸的细节,然后在运行时间,使用NSString的sizeWithFont:constrainedToSize:方法之一来确定标签的大小。让他们这么大。然后从该数据计算您的单元格的高度,并从表格视图的tableView:heightForRowAtIndexPath:返回该值。这是我几年前在应用程序中实现此功能的方式。 (坦率地说,我不确定它是否还在工作。)可能有一些更好的方法来计算CoreText中的标签大小,我没有看过。

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

祝你好运!