HTRouter: 轻量级的Swift UI页面路由库

HTRouter是一个轻量级的Swift UI页面路由库,它使得在Swift UI应用中导航变得更加简单、直观。通过HTRouter,你可以轻松地创建页面之间的跳转,并且可以灵活地配置不同类型的参数传递。

项目简介

HTRouter是一个开源项目,旨在为Swift UI开发者提供一个高效、易用的页面路由解决方案。它的主要功能包括:

  • 支持Swift UI的View之间进行简单的页面跳转。
  • 提供了多种类型的数据传输方式,如URL Query String、Dictionary等。
  • 可以方便地设置跳转动画和页面间传递的数据。
  • 拥有良好的扩展性,可以根据需要添加更多的自定义功能。

使用场景

HTRouter适用于各种基于Swift UI的应用程序,无论你是开发一个简单的单页应用还是复杂的多页面应用,都可以从中获益。以下是一些可能的使用场景:

  • 在主界面中跳转到详情页展示更多信息。
  • 根据用户的操作在多个模块之间切换。
  • 在不同的视图层级间进行导航,例如模态弹窗、嵌套导航栏等。
  • 实现个性化定制的动画效果。

特点与优势

HTRouter的主要特点如下:

  1. 简单易用:HTRouter提供了简洁的API设计,只需要几行代码就可以完成页面间的跳转,降低了学习成本。
  2. 高度可扩展:支持自定义数据传递方式和跳转动画,可根据需求实现更复杂的功能。
  3. 兼容性好:支持iOS 13+以上的系统版本,适配iPhone、iPad等多种设备。
  4. 社区活跃:项目的作者积极维护,持续更新,具有良好的社区支持。

如何使用

要开始使用HTRouter,你需要首先将它添加到你的Xcode项目中。如果你的项目已经集成了CocoaPods或Carthage,可以通过相应的依赖管理工具安装。否则,你可以直接将项目源码复制到你的项目中。

接下来,在你的Swift UI视图结构中,通过@State private var router: HTRouter声明一个HTRouter实例。然后,通过调用router.push(to:)方法即可实现页面的跳转。

import SwiftUI
import HTRouter

struct ContentView: View {
    @State private var router: HTRouter
    
    var body: some View {
        VStack {
            Button(action: {
                self.router.push(to: DetailView.self)
            }) {
                Text("Go to Detail")
                    .foregroundColor(.white)
                    .padding()
                    .background(Color.blue)
                    .cornerRadius(10)
            }
        }
        .onReceive(self.router.navigationCompleted) { _ in
            print("Navigation completed!")
        }
    }
}

在此示例中,我们创建了一个按钮,当用户点击时会跳转到名为DetailView的新页面。如果需要传递参数,可以使用router.push(to: params:)方法,并传入一个字典作为参数。

现在,你已经成功地使用HTRouter在Swift UI应用中实现了页面的跳转!对于更多高级特性,请参阅项目文档和示例代码。

尝试一下HTRouter,让页面路由变得简单而高效!