Layers:SwiftUI库创建分层用户界面





项目名称:layers

项目概述

Layers是一个设计用于创建分层用户界面的SwiftUI库,它通过平滑且高性能的动画增强了应用的用户体验。这个库允许开发者在模态视图之间轻松切换,同时保持界面的流畅性和响应性。

主要功能

  • 分层用户界面:创建具有多个层次的界面,每个层次可以包含不同的头部、内容和按钮。

  • 动画和过渡:在不同层次之间提供平滑的动画过渡效果。

  • 自定义和扩展:允许开发者自定义层次内容,并且可以轻松扩展以适应不同的需求。

使用方法

要开始使用Layers,可以按照以下步骤操作:

  1. 下载仓库并查看示例。

  2. 将源文件夹复制到你的项目中以进行集成。

创建自己的Layer,遵循以下步骤:

@Bindable var layers: LayerModel = .init(
    index: 0,
    max: 3,
    headers: [
        0: AnyView(ExampleHeader1()),
        1: AnyView(ExampleHeader2()),
        2: AnyView(ExampleHeader3()),
    ],
    contents: [
        0: AnyView(ExampleContent1()),
        1: AnyView(ExampleContent2()),
        2: AnyView(ExampleContent3()),
    ],
    buttons: [
        0: [["Cancel": "xmark.circle"], ["Continue": "checkmark.circle"]],
        1: [["Cancel": "xmark.circle"], ["Continue": "checkmark.circle"]],
        2: [["Cancel": "xmark.circle"], ["Continue": "checkmark.circle"]],
    ]
)

在你的视图中,创建包裹在Layer中的内容:

var body: some View {
    Layer {
        layers.getCurrentHeader()
            .id("layer.stack.header.\(layers.index)")

        layers.getCurrentContent()
            .id("layer.stack.content.\(layers.index)")

        HStack {
            if !layers.getCurrentButtons()[0].isEmpty {
                LayerButton(text: Binding.constant(layers.getCurrentButtons()[0].keys.first ?? ""),
                            icon: Binding.constant(layers.getCurrentButtons()[0].values.first ?? ""),
                            background: .orange)
                {
                    layers.previous()
                }
            }
            if !layers.getCurrentButtons()[1].isEmpty {
                LayerButton(text: Binding.constant(layers.getCurrentButtons()[1].keys.first ?? ""),
                            icon: Binding.constant(layers.getCurrentButtons()[1].values.first ?? ""),
                            background: .blue)
                {
                    layers.next()
                }
            }
        }
    }
}

这种设置允许你广泛自定义你的层次,而不需要深入到多个页面或额外的文件中。未来的迭代将进一步简化这个工作流程。

 

项目地址

项目的GitHub地址为:raphaelsalaja/layers

或许喜欢

MarviePlaceUI:使用SwiftUI构建的购物应用界面

MarviePlaceUI是一个用SwiftUI开发的购物应用界面,提供现代化的用户界面设计,优化用户体验。

最近更新 2024-12-11

Hike_App:基于SwiftUI的精美卡片式设计远足应用

Hike_App是一款使用SwiftUI构建的远足应用,提供卡片式界面设计,支持自定义图标、动画堆栈和平滑过渡,带来愉悦的用户体验。

最近更新 2024-12-11

SportsApp:用SwiftUI开发的体育应用

SportsApp是一个用SwiftUI开发的体育应用,它提供了一个直观的用户界面,让用户能够轻松查看各类运动消耗的能量

最近更新 2024-12-11

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1