测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可证 | MIT |
Released最后发布 | 2017年5月 |
SwiftSwift版本 | 3.1 |
SPM支持SPM | ✗ |
由Matija Kruljac维护。
SolarTransition是一个CocoaPod,可以实现从圆角矩形UIButton开始的圆形动画过渡,圆角矩形的边长是其宽度或高度的一半。
要运行示例项目,请先克隆仓库,然后从Example目录运行pod install
SolarTransition可以通过CocoaPods安装。要安装它,只需将以下行添加到您的Podfile中
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod "SolarTransition"
end
下面的代码用于在从第一个ViewController(fromViewController
)触摸圆角UIButton(toViewController
)触发过渡时,使用SolarTransitionAnimator
。需要用动画持续时间、过渡类型和originView
初始化SolarTransitionAnimator
。创建toViewController
后,需要将toViewController
的originView
设置为前面提到的圆角UIButton。最后,只需要调用SolarTransitionAnimator
的present()
方法,传入toViewController
和navigationController
。
let solarTransitionAnimator = SolarTransitionAnimator(
withDuration: TimeInterval(0.3),
forTransitionType: .presenting,
originView: startSolarTransitionButton
)
let toViewController = ToViewController(
nibName: "ToViewController",
navigationService: navigationService
)
toViewController.originView = startSolarTransitionButton
solarTransitionAnimator.present(
viewController: toViewController,
inNavigationController: navigationController
)
第二个ViewController(toViewController
)必须在成功实现SolarTransitionOriginProtocol
之前。
public protocol SolarTransitionOriginProtocol {
var originView: UIView? { get set }
}
此协议要求声明一个originView
属性,在第一个ViewController(fromViewController
)中设置。
在关闭第二个ViewController(toViewController
)时,必须使用持续时间、过渡类型和originView
初始化SolarTransitionAnimator
。对于关闭ViewController,调用SolarTransitionAnimator
的dismiss
方法。
class ToViewController: UIViewController, SolarTransitionOriginProtocol {
// ...
guard let originView = originView else { return }
let solarTransitionAnimator = SolarTransitionAnimator(
withDuration: TimeInterval(0.5),
forTransitionType: .dismissing,
originView: originView
)
solarTransitionAnimator.dismiss(
viewController: self,
inNavigationController: navigationController
)
}
Matija Kruljac,[email protected]
SolarTransition在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。