ModalPresentationView

简化 SwiftUI 中模态视图呈现的管理。

背景

SwiftUI 目前提供了两种不同的方式来管理模态视图的呈现

ModalPresentationView 位于两者之间,提供了一个 ModalPresentationButton 控件,它具有与 PresentationButton 相同的 API,但此外还

演示

GIF showing a demo of modal presentation and dismissal

示例代码

import ModalPresentationView
import SwiftUI

struct App: View {
  var body: some View {
    ModalPresentationView {
      ModalPresentationButton(destination: DetailScreen()) {
        Text("Present")
      }
    }
  }
}

struct DetailScreen: View {
  var body: some View {
    ModalDismissButton {
      Text("Dismiss")
    }
  }
}

安装

  1. 在 Xcode 中,打开你的项目并导航到 File > Swift Packages > Add Package Dependency...
  2. 粘贴仓库 URL 并按照提示将库添加到你的项目中。

工作原理

在内部,ModalPresentationView 定义了两个自定义的环境键,然后使用它们在容器和按钮之间进行通信,无论它们在你的视图层次结构中的位置如何。

贡献

请参阅 CONTRIBUTING 文档以了解有关如何贡献的详细信息。

许可证

ModalPresentationView 版权归 (c) 2019 thoughtbot, inc. 所有。它包含根据 LICENSE 文件中规定的条款可以重新发布的免费软件。

关于

thoughtbot

ModalPresentationView 由 Adam Sharp 维护,并由 thoughtbot, inc. 资助。thoughtbot 的名称和徽标是 thoughtbot, inc. 的商标。

我们热爱开源软件!查看我们的其他项目聘请我们来帮助构建你的产品。