在SwiftUI中创建表的合适方法

据我了解,在SwiftUI中没有专用的表视图类。自己创建此类表的最佳方法是什么?

实际上,我正在为每周计划视图寻找一些不同的东西。我正在尝试构建一个视图,以使一个Item可以位于两行之间,例如,如果会议在9:00和10:30之间进行,则会议的表示会将10:00行溢出到10之间的中间假想线:00和11:00。

我开始使用ScrollView以及基本的HStacks和VStacks以及类似于Text控件的位置进行构建,但是我发现必须有一种更好,更可靠且更容易的方法。

创建行和列的代码示例将很有帮助。

iCMS 回答:在SwiftUI中创建表的合适方法

我想您正在这里寻找List。 List是Swift中UITableView的替代方法。您可以将整个时间分成每个1小时的段,并在列表中为每个段显示一行。

要添加会议溢出的表示形式,可以将行的子视图的高度设置为时间溢出。 例如,如果会议在10到11:30之间,则10-11行将为全高。对于下一行,即11-12,

heightFactor =已用时间/ 60 行高度= heightFactor * maxRowHeight。

(这里是30/60 * maxRowHeight = 0.5 * maxRowHeight)。

可以使用GeometryReader在代码中调整高度

GeometryReader { geometry in
            VStack(spacing: 0) {
                Text("")
                    .frame(width: geometry.size.width,height: heightFactor * geometry.size.height)//rowHeight is as calculated above
                    .background(Color.yellow)
                Spacer()
            }
        }
本文链接:https://www.f2er.com/2017427.html

大家都在问