【发布时间】: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