【问题标题】:SwiftUI list with multiple columns具有多列的 SwiftUI 列表
【发布时间】:2020-08-21 11:56:30
【问题描述】:

我正在 swiftui 中寻找相当于 html 内联块的内容。我基本上希望它像列表一样工作 - 但如果它会超过该行,只需换行 - 例如

WrappingList( items ) {
    Text( "item.name") 
}

但我发现它比我想象的要难。我真的希望将事物列表带到表格中——即增量更新和滚动,但我找不到将其映射到快速声明式样式的方法。在您以程序方式添加控件的语言中,这很简单:

current_x = 0
current_y = 0
foreach (var item in items ) 
{
    control = create_control_for( item )
    biggest_y = max( current_y + control.height, biggest_y)
    if (control.width + current_x > width) 
    {
        current_x=0;
        current_y = biggest_y;
    }
    control.position = (current_x, current_y)
}

但 swift 似乎想在 hstacks 或 vstacks 中做事,我真的不知道如何做到这一点,但仍然保留列表的属性 - 特别是在事先不知道事物大小的情况下 - 即我不想要一个固定的网格。

这样的功能是否已经存在?如果没有,有没有办法将上面的代码行映射到 SwiftUI 中?

【问题讨论】:

  • 这是否回答了您的问题stackoverflow.com/a/58876712/12299030
  • 我想是这样 - 我要玩它 - 我希望使用列表,因为重复使用单元格模式 - 但你所做的非常聪明 - 我不知道关于 ZStack,并且在有一个我可以调整的变量时遇到问题 - 没有考虑将循环本身放在一个函数中 - 谢谢

标签: swiftui


【解决方案1】:

这里有一个答案 - asperi 上面的评论效果很好 - 链接到 this stack overflow article

【讨论】:

  • 请编辑您的答案,使其不仅仅是评论 - 至少是指向另一个答案的链接,并且可能是其中的引文。
猜你喜欢
  • 1970-01-01
  • 2021-09-02
  • 1970-01-01
  • 1970-01-01
  • 2016-05-14
  • 1970-01-01
  • 2011-03-15
  • 2020-01-15
  • 2023-02-07
相关资源
最近更新 更多