CompactSlider

CompactSlider 是一个高度可定制的 SwiftUI 多用途滑块控件。它可用于选择单个值、值范围、多个值、网格中的点或圆形网格中的极坐标点。滑块可以水平、垂直或在(圆形)网格中显示。可以使用各种样式和选项自定义滑块,包括设计您自己的样式。

该滑块是内置滑块的替代品,专为 SwiftUI 设计。对我来说,编写一个已经存在的组件的主要动机是在 macOS 12 及更低版本下非常缓慢的性能(例如,当您需要调整具有多个滑块的屏幕大小或进行动画处理时)以及当时严重过时的设计。

我受到了 Apple Photos 应用程序开发的滑块设计的启发,该应用程序大量使用滑块。还有 iPhone 16 Pro 上 Camera 应用程序中的新滑块。

滑块类型

滑块基本上定义了两个变体:线性滑块和网格滑块。线性滑块可以是水平或垂直的,也可以是可滚动的,其中手柄是静止的,而刻度是移动的。

网格滑块可用于选择网格中的点或圆形网格中的极坐标点。网格中的点表示 x 轴和 y 轴的值。极坐标点表示角度和半径的值。

CompactSliderType 定义的可能的滑块类型

要求

安装

  1. 在 Xcode 中,转到 FileAdd Packages... (文件 > 添加包...)。
  2. 搜索下面的链接并单击 Add Package (添加包)。
https://github.com/buh/CompactSlider.git
  1. 选择要添加到哪个目标,然后选择 Add Package (添加包)。

文档

入门

默认样式组合

image

演示

演示包包含多个用例。

演示

macOS iOS
macOS iOS
macOS iOS
macOS iOS

GridDemo

macOS iOS
macOS iOS

CircularGridDemo

macOS iOS
macOS iOS

SystemDemo

macOS iOS
macOS iOS

visionOS visionOS

WatchOSDemo

Horizontal (水平) Vertical (垂直) Grid (网格) Circular Grid (圆形网格)
WatchOSDemo WatchOSDemo WatchOSDemo WatchOSDemo

Version 1.0 (deprecated) (已弃用)

Version 1.0 已弃用,不再支持。 您可以在文件中找到版本 1.0 的文档:README v1

支持

您可以在这里请我喝咖啡☕️

许可证

CompactSliderMIT license 下可用