在SwiftUI中,可以使用GeometryReader来创建不影响其父级大小的分割线。
以下是一个示例代码,演示了如何创建一个不影响其父级大小的分割线:
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Text("上方内容")
GeometryReader { geometry in
VStack {
Divider()
.frame(width: geometry.size.width, height: 1)
Text("分割线下方内容")
}
}
Text("下方内容")
}
.padding()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
在上面的代码中,我们使用了GeometryReader来获取父级视图的尺寸信息。然后,我们将分割线放置在一个垂直堆栈中,并使用frame设置分割线的宽度和高度。通过将宽度设置为geometry.size.width,我们确保分割线的宽度与父级视图的宽度相等,从而不影响父级视图的大小。
请注意,我们还使用了padding来给内容添加一些间距,以便更好地展示分割线。你可以根据需要调整padding的值。