iOS(Swift)等效于以编程方式填充线性布局

时间:2017-09-18 20:24:24

标签: ios swift uitableview uistackview

我在iOS开发方面相当新,我想在JSON中以视图(不需要任何交互)的列表顺序填充时间和日期。在android中我通过设计linearlayout模板或Item然后在循环中对其进行膨胀来修改每个循环中的Time和Date Textview值。它在Android中相当直接。

在iOS(Xcode 8.3)中,我从字典中获取NSArray,并成功地按以下顺序打印它:

{
   Date = "Monday07,2017";
   Time = "3:24AM";
}
{
   Date = "Tuesday08,2017";
   Time = "11:03PM";
}
{
   Date = "Wednesday08,2017";
   Time = "1:13AM";
}
{
   Date = "Wednesday08,2017";
   Time = "4:17PM";
}
{
   Date = "Wednesday08,2017";
   Time = "7:17AM";
}
{
   Date = "Wednesday08,2017";
   Time = "7:17AM";
}
{
   Date = "Wednesday08,2017";
   Time = "7:18AM";
}
{
   Date = "Wednesday08,2017";
   Time = "9:05PM";
}

现在我被困在天气中使用UITable视图或UIStackview(我不知道如何以编程方式使用其中任何一个)以编程方式使用时间和日期对每一行进行充气。更多我只需要显示前五个键:值对而不是所有NSArray。

我发现UIStackView在这种情况下是一个更好的选择因为它允许我添加两个简单的标签,没有任何交互。我计划在循环中填充每个UIStackView,就像我在Android中使用Linearlayout一样。

我需要的帮助是如何将以下NSArray放入视图中的列表...

1 个答案:

答案 0 :(得分:1)

你应该使用UITableview而不是UIStackView。 表视图的目的是显示大量数据,例如您拥有的文件。表视图将代表你做很多事情,tableView将为你做的最重要的事情之一就是它将你的单元格出列并准备重用你无法使用StackViews进行重复使用。

另一方面,UIStackViews的目的是帮助您在纵向和横向上轻松布局视图,并使用较少的UIConstraints。

您可以将UIStackViews添加到任何UIView,例如TableViews Cell

有很多关于iOS TableView的教程,一个好的起点是Ray Wenderlich