ExyteAnimatedTabBar 0.1.4

ExyteAnimatedTabBar 0.1.4

Exyte 维护。



     

demo

Animated Tab Bar

AnimatedTabBar 是一个使用纯 SwiftUI 编写的具有多种预设动画的标签栏

阅读文章 »

SPM Compatible Cocoapods Compatible Carthage Compatible License: MIT

使用方法

  1. 添加一个 Int 来存储当前选择
  2. 通过两种初始化器之一将按钮传递给AnimatedTabBar。对于第一种,您可以传递任何视图类型
import AnimatedTabBar

AnimatedTabBar(selectedIndex: $selectedIndex) {
    TabButton1()
    TabButton2()
    TabButton3()
}

对于第二种,视图必须相同类型,或者手动转换为 AnyView

AnimatedTabBar(selectedIndex: $selectedIndex, views: [TabButton1(), TabButton2(), TabButton3()])

必需参数

selectedIndex - 绑定到当前索引
views - 要在标签栏中显示的按钮

可用的自定义 - 修饰符

在弹出修饰符中使用 customize 闭包

barColor - 标签栏本身的颜色
selectedColor - 选定标签的颜色(使用模板渲染以正确应用此颜色)
unselectedColor - 未选定标签的颜色
ballColor - 球形指示器颜色
verticalPadding - 按钮到标签栏顶部和底部边缘的空间
cornerRadius - 作用于标签栏背景颜色的圆角
ballAnimation - 应用到球运动曲线的动画曲线,默认为 .easeOut(duration: 0.6) indentAnimation - 标签栏缩进增加/减少的动画曲线
buttonsAnimation - 颜色应用到标签按钮的动画曲线
didSelectIndex - 每次标签点击时都会调用的闭包

ballTrajectory - 球形指示器动画路径选项

  • parabolic - 沿抛物线弧到达选定的按钮
  • teleport - 瞬间消失并在选中标签上方重新出现
  • straight - 滑到选定的标签

内置可动画标签按钮

默认情况下,标签页只有简单的颜色动画,但您可以自定义它。该库内置两种可用类型,您可以直接使用:DropletButtonWiggleButton,以及在示例项目中提供的超定制型 ColorButton。请随意将在您的项目中使用它们或在此基础上构建自己的按钮。

示例

尝试 AnimatedTabBar 示例

  • 克隆仓库 https://github.com/exyte/AnimatedTabBar.git
  • 打开终端并运行 cd <AnimatedTabBarRepo>/Example/
  • 运行 pod install 以安装所有依赖
  • 运行 open AnimatedTabBarExample.xcworkspace/ 在 Xcode 中打开项目
  • 试一试!

安装

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/exyte/AnimatedTabBar.git")
]

CocoaPods

要安装 AnimatedTabBar,只需将以下行添加到您的 Podfile 中

pod 'ExyteAnimatedTabBar'

Carthage

要使用 Carthage 将 AnimatedTabBar 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "Exyte/AnimatedTabBar"

需求

  • iOS 16+
  • Xcode 14+

鸣谢

非常感谢 Yeasin Arafat 提供那美丽的原始作品,我们用 SwiftUI 重新创作了它。

我们的其他开源 SwiftUI 库

PopupView - 提示和弹出窗口库
Grid - 最强大的网格容器
ScalingHeaderScrollView - 带有粘性头部的滚动视图,随着滚动而缩小。
MediaPicker - 可定制的媒体选择器
Chat - 完全可定制的消息单元、输入视图和内置媒体选择器的聊天 UI 框架
ConcentricOnboarding - 动画引导流程
FloatingButton - 漂浮按钮菜单
ActivityIndicatorView - 一系列动画加载指示器
ProgressIndicatorView - 多个动画进度指示器
SVGView - SVG解析器
LiquidSwipe - 液态导航动画