TransitionableTab

Carthage compatible Xcode 9.0+ iOS 8.0+ Version Swift 4.2 License

TransitionableTab 使标签切换动画变得简单易用。

移动 缩放 淡入淡出 自定义

目录

要求

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理工具。您可以使用以下命令安装它

$ gem install cocoapods

构建 TransitionableTab 4.2+ 需要 CocoaPods 1.1+。

要使用 CocoaPods 将 TransitionableTab 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'TransitionableTab', '~> 0.2.0'
end

然后,运行以下命令

$ pod install

Carthage

Carthage 是一个去中心化的依赖管理器,它可以构建您的依赖项并为您提供二进制框架。

您可以使用 Homebrew 安装 Carthage,使用以下命令

$ brew update
$ brew install carthage

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

github "Interactive-Studio/TransitionableTab" ~> 0.2.0

运行 carthage update 来构建框架,并将构建好的 TransitionableTab.framework 拖入您的 Xcode 项目中。

手动

如果您不想使用上述任何依赖管理器,您可以手动将 TransitionableTab 集成到您的项目中。


预览

用法

TransitionableTab 的用法非常简单

import TransitionableTab

class TabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.delegate = self
    }
}

extension TabBarController: TransitionableTab {

    func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
        return animateTransition(tabBarController, shouldSelect: viewController)
    }
}

自定义

public protocol TransitionableTab: UITabBarControllerDelegate {

    func transitionTimingFunction() -> CAMediaTimingFunction

    func transitionDuration() -> CFTimeInterval

    func fromTransitionAnimation(layer: CALayer, direction: Direction) -> CAAnimation

    func toTransitionAnimation(layer: CALayer, direction: Direction) -> CAAnimation
}

如果您想了解更详细的用法,请参考示例。

交流

致谢

许可证

TransitionableTab 基于 MIT 许可证发布。有关详细信息,请参阅 LICENSE。