FloatingButton:SwiftUI 创建的可定制浮动按钮菜单





项目名称:FloatingButton

FloatingButton 是一个由 Exyte 开发的 SwiftUI 浮动按钮库,它允许开发者创建具有动态动画效果的可定制浮动按钮菜单。以下是该项目的主要特点和使用方法:

使用方法

  1. 创建主按钮视图和多个子菜单按钮,两者都应转换为 AnyView 类型。

  2. 将它们传递给 FloatingButton 构造函数:

FloatingButton(mainButtonView: mainButton, buttons: buttons)
  1. 可以通过传递一个绑定来控制菜单的开启状态,例如在点击子菜单按钮时关闭菜单:

FloatingButton(mainButtonView: mainButton, buttons: buttons, isOpen: $isOpen)
  1. 通过链式调用 .straight().circle() 来指定所需的菜单类型。

  2. 之后可以链式调用其他修饰符,例如:

FloatingButton(mainButtonView: mainButton, buttons: textButtons)
    .straight()
    .direction(.top)
    .alignment(.left)
    .spacing(10)
    .initialOffset(x: -1000)
    .animation(.spring())

通用选项

  • spacing:子菜单按钮之间的间距。

  • initialScaling:菜单关闭时子菜单按钮的大小乘数。

  • initialOffset:菜单关闭时子菜单按钮的偏移量。

  • initialOpacity:菜单关闭时子菜单按钮的不透明度。

  • animation:自定义 SwiftUI 动画,如 Animation.easeInOut()Animation.spring()

  • delays:每个子菜单按钮动画开始的延迟。

  • mainZStackAlignment:主按钮和子菜单按钮包含在一个 ZStack 中,可以使用此参数更改此 ZStack 的对齐方式。

  • inverseZIndex:反转主按钮和子元素的 zIndex。例如,当有负间距并且想要更改顺序时使用。

  • wholeMenuSize:传递 CGSize 绑定以获取菜单大小的更新。菜单大小包括主按钮框架和所有元素的框架。

  • menuButtonsSize:传递 CGSize 绑定以获取组合菜单元素大小的更新。

直线菜单特有的选项

  • direction:子菜单按钮相对于主按钮的位置。

  • alignment:子菜单按钮相对于主按钮的对齐方式。

圆形菜单特有的选项

  • startAngle

  • endAngle

  • radius:主按钮中心与子菜单按钮中心之间的距离。

  • layoutDirection:从 startAngle 到 endAngle 的按钮布局方向。

示例

要尝试 FloatingButton 的示例:

  1. 克隆仓库 git clone git@github.com:exyte/FloatingButton.git

  2. 打开 <FloatingButtonRepo>/Example

  3. 运行 Example.xcodeproj - 框架作为本地 SPM 包导入。

  4. 尝试它!

安装

  • 通过 Swift Package Manager、CocoaPods 和 Carthage 集成 FloatingButton

系统要求

  • iOS 14.0+ macOS 11.0+ watchOS 7.0+

  • Xcode 12+

其他开源 SwiftUI 库

Exyte 还提供了其他多个开源 SwiftUI 库,如 PopupView、Grid、ScalingHeaderScrollView 等。

或许喜欢

ActivityIndicatorView:SwiftUI 创建的预设加载指示器库

ActivityIndicatorView 是一个 SwiftUI 库,提供多种预设的加载动画指示器,支持自定义样式和动画,适用于 iOS、watchOS、tvOS 和 macOS 平台。

最近更新 2024-12-11

SwiftUIMasonry:SwiftUI实现的Pinterest风格布局视图

SwiftUIMasonry是一个SwiftUI库,提供水平和垂直的Pinterest风格布局视图,支持动态行数和列数,以及自定义间距和对齐。

最近更新 2024-12-09

Liquid-Menu-Buttons:SwiftUI实现的流动式菜单按钮

Liquid-Menu-Buttons 是一个 SwiftUI 库,提供了具有流动液体效果的过渡按钮设计,为按钮界面带来创新和动态的视觉效果。

最近更新 2024-12-09

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1