FloatingButton:SwiftUI 创建的可定制浮动按钮菜单
项目名称:FloatingButton
FloatingButton 是一个由 Exyte 开发的 SwiftUI 浮动按钮库,它允许开发者创建具有动态动画效果的可定制浮动按钮菜单。以下是该项目的主要特点和使用方法:
使用方法
创建主按钮视图和多个子菜单按钮,两者都应转换为
AnyView
类型。将它们传递给
FloatingButton
构造函数:
可以通过传递一个绑定来控制菜单的开启状态,例如在点击子菜单按钮时关闭菜单:
通过链式调用
.straight()
或.circle()
来指定所需的菜单类型。之后可以链式调用其他修饰符,例如:
通用选项
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 的示例:
克隆仓库
git clone git@github.com:exyte/FloatingButton.git
。打开
<FloatingButtonRepo>/Example
。运行
Example.xcodeproj
- 框架作为本地 SPM 包导入。尝试它!
安装
通过 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