SwiftUI 如何使用 HSplitViews 创建左中右三栏布局?

20 min read

HSplitView 是 SwiftUI 中一个用于创建分割视图的组件,可以将一个视图水平分割成两个子视图。利用 HSplitView 可以轻松实现左中右三栏布局。具体实现步骤如下:

  1. 创建左侧栏视图
struct LeftView: View {
    var body: some View {
        // 左侧栏视图内容
    }
}
  1. 创建右侧栏视图
struct RightView: View {
    var body: some View {
        // 右侧栏视图内容
    }
}
  1. 创建中间视图
struct CenterView: View {
    var body: some View {
        // 中间视图内容
    }
}
  1. 使用 HSplitView 组合三个视图
struct ContentView: View {
    var body: some View {
        HStack {
            // 左侧栏
            LeftView()
                .frame(width: 200)
 
            // 分割线
            Divider()
 
            // 中间视图
            CenterView()
 
            // 右侧栏
            Divider()
            RightView()
                .frame(width: 200)
        }
    }
}

使用上述代码,我们创建了一个包含左侧、中间、右侧三个视图的水平布局。其中 HStack 用于创建横向排列, Divider 用于添加分割线。由于左右侧栏宽度为 200,因此使用 frame(width: 200) 设置宽度。具体效果如下图所示:

hsplitview-example