细菌 0.5.1

细菌 0.5.1

测试测试版
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年2月

Igor Kislyuk 维护。




细菌 0.5.1

BACTERIA

这个框架用于基本模态视图控制器转换,采用人类语法。专为ObjC用户开发

下面是一个示例

    yourViewController.
    presentTransition(BCTTransitionFlip).
    fromDirection(BCTDirectionTop).
    dismissTransition(BCTTransitionPopRadial).
    popTo(self.testButton).
    withDuration(0.45f);

功能列表

  • 为ObjC提供过渡人类语法
  • 支持segues,不仅仅用于模态代码展示
  • 支持不同类型的过渡(扁平、翻转、弹出、safari)
  • 支持所有侧边模态控制器展示(注意:扁平扩展)
  • 支持缩放显示和隐藏控制器视图(注意:仅扁平)
  • 支持自动反转功能(这意味着您可以为呈现/消失指定一个类型,另一个将自动推断)

Podfile

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

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

target 'TargetName' do
pod 'Bacteria'
end

然后,运行以下命令

$ pod install

如何使用

应用指令应针对呈现的控制器执行。您可以通过两种方式获得它

  1. 手动创建并展示
    //get controller
    BCTPresentedViewController *presented = [self.storyboard instantiateViewControllerWithIdentifier:NSStringFromClass([BCTPresentedViewController class])];

    //bacteria configuration  
    presented.
    presentTransition(BCTTransitionSafari).
    dismissTransition(BCTTransitionFlatParallel).
    toDirection(BCTDirectionTop).
    withDuration(1.45f);

    [self presentViewController:presented animated:YES completion:nil];
  1. 使用切换跟踪器
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    //get presented controller
    BCTPresentedViewController *presented = segue.destinationViewController;

    //bacteria configuration
    presented.
    presentTransition(BCTTransitionFlip).
    fromDirection(BCTDirectionTop).
    dismissTransition(BCTTransitionPopRadial).
    popTo(self.testButton).
    withDuration(0.45f);
}

功能概述

只有一个必需的方法需要调用。它是 withDuration,因为这涉及到在隐蔽中将工厂作为转换代理分配。为了帮助确定您将应用设置到哪个控制器,库使用几个基本关键字,如:present 用于将要显示的控制器,dismiss 用于将要隐藏的控制器,from 用于将要显示的控制器设置,to 用于将要隐藏的控制器设置

  • withDuration(XXX) - 使用此来指定转换的持续时间。XXX - 秒的浮点值。适用于展示和消失过渡

  • presentTransition(XXX) - 使用此来指定展示控制器的过渡类型。XXX是BCTTransitionType值之一。

  • dismissTransition(XXX) - 使用此来指定控制器在消失时将应用的转换。XXX是BCTTransitionType值之一。

  • fromDirection(XXX) - 使用此来指定呈现控制器的转换方向。

  • toDirection(XXX) - 使用此来指定在消失时的转换方向。..* 对于4和5:它仅适用于BCTTransitionFlatParallel,BCTTransitionFlatCover,BCTTransitionFlip(限制为前4种类型)。XXX是BCTDirectionType之一。

  • popFrom(XXX) & popTo(XXX) - 使用此来传递用于弹出动画的视图锚点。 (注意:仅弹出转换)

  • fromScale(XXX, YYY) & toScale(XXX, YYY) - 使用这个函数确定控制器的初始或最终缩放大小。XXX & YYY使用单位度量。范围在0到1之间。(注意:仅限平滑过渡)

  • fromPoint(XXX) & toPoint(XXX) - 使用这个函数来指定控制器从开始到结束的直接点。可能未使用,应在将来的版本中讨论删除。XXX是点。

枚举类型

Bacteria声明了几个枚举类型用于配置。

  • BCTTransitionType - 声明不同过渡类型的枚举。有以下几个:
    • BCTTransitionFlatParallel - 默认类型。如果需要同时移动多个控制器,请使用它。
    • BCTTransitionFlatCover - 与前一个类似,但原始控制器“保持不动”。
    • BCTTransitionFlip - 基本翻转过渡,如同默认类型,扩展到所有四个边。
    • BCTTransitionSafari - 类似于 Safari-tab,无自定义的过渡效果。
    • BCTTransitionPopRadial - 当控制器从中心点出现/消失时弹出。
    • BCTTransitionPopLinear - 与前一个类似,但使用带圆角的矩形而不是中心点。
  • BCTDirectionType - 用于确定过渡方向枚举。(注意:仅适用于Flat, FlatCover;对于Flip过渡,您只能使用前四个方向。其他方向将被转换为前四个方向。)
    • BCTDirectionTop - 顶部方向。
    • BCTDirectionLeft - 左侧方向。
    • BCTDirectionBottom - 底部方向。
    • BCTDirectionRight - 右侧方向。
    • BCTDirectionTopLeft - 左上角方向。
    • BCTDirectionBottomLeft - 左下角方向。
    • BCTDirectionBottomRight - 右下角方向。
    • BCTDirectionTopRight - 右上角方向。

示例

  • 做这个
    //bacteria configuration
    presented.
    presentTransition(BCTTransitionFlatCover).
    fromDirection(BCTDirectionBottomLeft).
    fromScale(0.5, 0.5).
    dismissTransition(BCTTransitionFlip).
    toDirection(BCTDirectionBottom).
    withDuration(0.45f);

来接收

  • 做这个
    //bacteria configuration
    presented.
    presentTransition(BCTTransitionSafari).
    withDuration(0.45f);

来接收

  • 做这个
    //bacteria configuration
    presented.
    presentTransition(BCTTransitionSafari).
    withDuration(0.45f);

来接收

待办事项部分

版本 0.6

  • [ ] 在容器视图中保留视图的功能。提示:我应该使用快照,而不是 addSubview:
  • [ ] 为展示/关闭添加独立的持续时间
  • [ ] 为导航堆栈中的视图控制器添加过渡效果
  • [ ] 为方便语法添加Swift包装器。最初,它专为ObjC用户设计

版本 0.7

  • [ ] 添加交互性。用户应能够轻松地将过渡效果嵌入手势
  • [ ] 根据用户指尖位置支持弹出初始点
  • [ ] 为所有类型的过渡添加弹簧值

版本 0.8

  • [ ] 支持容器视图的背景颜色过渡
  • [ ] 错误为背景容器添加模糊效果
  • [ ] 为集合添加过渡效果

版本 0.9

  • [ ] 对整个库进行审查,以进行重构过程

历史笔记

Bacteria最初代表 Beautiful Animation Controller Transition。一段时间后,它被更名为Bacteria,更短、更方便。在另一种意义上,它还可以代表 BaController Transitions。

贡献者

许可协议

MIT许可协议。有关详细信息,请参阅LICENSE文件。