获取SwiftUI中分组列表内的视图大小
我目前使用的是获取SwiftUI中分组列表内的视图大小,swiftui,swiftui-list,swiftui-environment,Swiftui,Swiftui List,Swiftui Environment,我目前使用的是列表和GroupedListStyle(),以及常规的horizontalSizeClass(例如处于横向模式的iPad),这种列表样式会自动为每个部分创建一些填充,如下所示: 结构列表视图:视图{ var body:一些观点{ 名单{ 部分{ 文本(“一”) 文本(“两个”) 文本(“三”) } }.listStyle(GroupedListStyle()) } } 这太好了,我想要这个。但是,由于我需要以固定宽度显示行中的某些元素,因此我需要知道列表中行的实际宽度 我尝试过
列表
和GroupedListStyle()
,以及常规的horizontalSizeClass(例如处于横向模式的iPad),这种列表样式会自动为每个部分创建一些填充,如下所示:
结构列表视图:视图{
var body:一些观点{
名单{
部分{
文本(“一”)
文本(“两个”)
文本(“三”)
}
}.listStyle(GroupedListStyle())
}
}
这太好了,我想要这个。但是,由于我需要以固定宽度显示行中的某些元素,因此我需要知道列表中行的实际宽度
我尝试过用GeometryReader包装列表,但是宽度与行的宽度不匹配,因为整个部分都有填充
结构列表视图:视图{
var body:一些观点{
GeometryReader{中的几何体
名单{
部分{
文本(“一”)//我不得不使用样式为的UITableView
。insetgroup
,用可表示的实现,并使用属性layoutMargins
,该属性精确给出了这个大小类中水平边距的大小。我不得不使用样式为的UITableView
。insetgroupd
,用一个可表示的实现,并使用属性layoutMargins
,该属性精确给出了此大小类中水平边距的大小。您需要知道什么?节或行元素的高度?请像这样尝试defaultMinListRowHeight
环境值:@Environment(\.defaultMinListRowHeight)var height
那么您想读取行的宽度还是文本的宽度?因为它们是不同的宽度。表中所有行的行宽度都相等。当然,文本的宽度取决于内容。我需要读取行的宽度。您需要知道什么?节或行元素的高度?请尝试defaultMinListRowHeight
环境t值如下:@Environment(\.defaultMinListRowHeight)var height
所以您要读取行的宽度还是文本的宽度?因为它们是不同的宽度。表中所有行的行宽度都相等。当然,文本的宽度取决于内容。我需要读取行的宽度。