这个框架用于基本模态视图控制器转换,采用人类语法。专为ObjC用户开发
下面是一个示例
yourViewController.
presentTransition(BCTTransitionFlip).
fromDirection(BCTDirectionTop).
dismissTransition(BCTTransitionPopRadial).
popTo(self.testButton).
withDuration(0.45f);
要使用CocoaPods将Bacteria集成到Xcode项目中,请在您的Podfile中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
pod 'Bacteria'
end
然后,运行以下命令
$ pod install
应用指令应针对呈现的控制器执行。您可以通过两种方式获得它
//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];
- (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);
来接收
addSubview:
Bacteria最初代表 Beautiful Animation Controller Transition。一段时间后,它被更名为Bacteria,更短、更方便。在另一种意义上,它还可以代表 BaController Transitions。
MIT许可协议。有关详细信息,请参阅LICENSE文件。