iOS Swift - 有没有办法将子视图添加到表格单元格并正确定位?

时间:2015-11-13 20:08:06

标签: ios swift uitableview autolayout uilabel

所以,这是我的问题:

我想创建一个表来显示一些航班数据。这个想法是每个单元代表一次旅行(即从城市A到B所需的所有航班)。每个航班有3个属性,我将分成不同的标签,组成该线。因此,细胞必须相应地调整其高度。

这是我到目前为止所做的:

我的视图控制器类:

m going, the layout won

flight.num只是为了测试。我能够以编程方式创建标签,但我觉得我{{1}}正常工作的方式。

那么,我如何创建表示线条的标签并正确放置它们?我是在正确的轨道上吗?我四处搜索并发现了XIB,但我不确定它是否更好......?老实说,我完全迷失了,任何帮助都会受到高度赞赏。

我不确定这是否有帮助,但它会是这样的:

TRIP CELL:

Flight1Num Flight1Departure Flight1Duration

Flight2Num Flight2Departure Flight2Duration

Flight3Num Flight3Departure Flight3Duration

1 个答案:

答案 0 :(得分:0)

<强>唐&#39;吨

<强> 为什么:

为每个单元格调用

cellForRowAtIndexPath (也在滚动期间)。如果你想做太多,它就不会滚动顺畅。此外,单元格被重用(因为 dequeue 表示它)。 iOS仅创建可见单元格实例的数量加上一个或两个额外单元格。如果一个单元格被重用,你需要删除已经添加的标签,然后再添加新标签,这会导致下一个问题:如何识别它们(搜索所有子视图并检查它是否是UILabel的实例或使用标签并通过标签找到它们....无论如何:如果你想做太多,它就不会滚动顺畅。

<强> 相反:

在模板单元格中定义标签&#39; DispCell&#39;或在故事板中创建不同的模板单元格(并按名称将正确的单元格出列)。在那里,您可以使用故事板布局约束来正确定位标签。

如果你有一个灵活数量的curFlightsIda,你可以考虑最大数量(并隐藏空标签),也可以使用文本字段而不是标签。