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

标签 ios swift uitableview uistackview

我是 iOS 开发的新手,我想在 JSON 中接收的 View 中按列表顺序填充时间和日期(不需要任何交互)。在 android 中,我通过设计一个线性布局模板或项目然后在循环中膨胀它并在每个循环中修改时间和日期 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 View 或 UIStackview(而且我不知道如何以编程方式使用它们中的任何一个)以编程方式为每一行添加时间和日期。此外,我只需要显示前五个键值对,而不是所有的 NSArray。

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

我在这里需要的帮助是如何将以下 NSArray 放入 View 中的列表中...

最佳答案

您应该使用 UITableview 而不是 UIStackView。 表格 View 的目的是显示大量数据,例如您拥有的文件。 Table View 会代表你做很多事情,其中​​最重要的事情之一是 tableView 会为你做的,它会让你的单元格出列并准备好重新使用,这是你无法使用 StackViews 做的。

另一方面,UIStackViews 的目的是帮助您轻松地在垂直和水平方向上布置 View ,并使用更少的 UIConstraint。

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

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

关于iOS (Swift) 等效于以编程方式填充线性布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46287645/

相关文章:

ios - 将文件保存到临时目录,然后从该临时目录回调 url

php - 如何根据纬度和经度计算距离

iOS 导航到 didSelectRowAtIndexPath 上的其他 View

ios - 如何访问以字符串为键、任意数组为值的字典内容?

带有透明单元格并显示背景图像的 Swift TableView

ios - 为 iphone se 创建自动布局?

ios - ActionSheet 滞后

ios - 单例 SharedInstance 函数被调用两次

ios - 在 HeaderInSection 中查看大小不增加

ios - TableView 部分更新取决于 CoreData transient 属性更改