- 说明**
当HStack
的列表行组件以非Text
开始并且后跟Text
组件时,然后,行Divider
从行中出现的第一个Text
开始。我期望的是Divider
延伸到整个行。我已经在List
上尝试了listSyle()
的所有组合,但都没有解决问题。如图所示,分频器忽略Text
之前的任何东西。
- 问题**
有没有办法强制Divider
拉伸通过行?
- 重现步骤**
struct ContentView: View {
var body: some View {
List {
HStack{
Image(systemName: "star")
.frame(width: 50, height: 50)
Text("Chocolate")
}
HStack{
Image(systemName: "star")
.frame(width: 50, height: 50)
Text("Waffles")
}
}
}
}
- 环境**
- Xcode版本信息:
Xcode 14.0.1
- 部署目标:x1米11米1x
3条答案
按热度按时间bq3bfh9z1#
这是可能的。
listRowSeparator
有参数edges
。如果你用.all调用它,分隔符会延伸到整个行。然后,有三个选择hidden
,automatic
和visible
。visible
效果强制一个边缘选项。kiz8lqtg2#
您可以将系统图像转换为文本,然后该行将从此处开始:
2g32fytz3#
另一种方法是隐藏分隔符,并在行与行之间手动添加一个
Divider()
,分隔符将显示在列表的中心。