watchOS macOS tvOS ios swift

SwiftUI Plus

介绍一系列 SwiftUI 的扩展功能,让你的项目构建更加容易。

此外,我希望这个仓库也能作为一个很好的资源,让你了解如何实现 SwiftUI 的功能 👍

赞助

构建像这样的实用库,会占用我陪伴家人的时间。我利用业余时间构建这些工具,因为我觉得回馈社区很重要。请考虑赞助我,这有助于我继续开发更多像这样的实用库 😬

你也可以关注我,并随时给我一个“感谢”。

Twitter

新增功能

FittingGeometryReader

一个可以自动调整大小的 GeometryReader,使你能够自动调整内容的大小,同时仍然可以访问代理的值,例如它的运行时大小。

可滚动堆栈

TextSlider

一个新的基于文本的滑块,通过拖动手势进行交互,并且可以直接进行键盘输入以获取更具体的值。此外,它还支持用于自定义设计的样式 API。

VFlowStack

一个基于垂直行的堆栈视图,水平布局其子视图,直到它们不再适合,然后开始将子视图“环绕”到新行上。

类似于 UICollectionViewFlowLayout

触觉和反馈

支持各种熟悉的、受动画启发的 API,用于将触觉和其他反馈(音频、闪光等)附加到状态更改。

作为一种便利,API 提供了以 haptic 为中心的 API。

但是,你也可以使用 withFeedbackfeedback API 来获得更多控制权并访问其他反馈方法。 特别是,你可以组合这些方法,为用户提供更复杂的反馈。

withFeedback(
    .haptic(.selection)
    .combined(with: 
        .audio(.focusChangeSmall)
    )
)

此示例将播放一个短音频文件,同时提供触觉反馈(如果支持)。

另请注意,Feedback Audio API 提供了对几乎所有内置音频文件的简化访问,方便使用。

依赖项

此软件包自动包含 SwiftBackportsSwiftUIBackports,以便为所有 SwiftUI 客户端提供更丰富的 API 集。

安装

你可以手动安装(通过复制 Sources 目录中的文件)或使用 Swift Package Manager(首选

要使用 Swift Package Manager 安装,请将此添加到 Package.swift 文件的 dependencies 部分

.package(url: "https://github.com/shaps80/SwiftUIPlus.git", .upToNextMinor(from: "1.0.0"))