Disintegrate
Disintegrate 是一个小型库,它能提供一种受《复仇者联盟3:无限战争》结束时我们的最爱英雄消失动画所启发的动画。使用它的视图或图层会被分成小三角形,然后它们向一个方向移动并淡出。你可以自定义三角形估计的数量以及它们将移动到的方向。
用法
Disintegrate 向 UIView 和 CALayer 类添加一个方法。
func disintegrate(direction: DisintegrationDirection = DisintegrationDirection.random(),
estimatedTrianglesCount: Int = 66,
completion: (() -> ())? = nil)
动画可以通过以下两个参数进行自定义:
direction
- 三角形粒子移动的方向。默认情况下,从8个可选选项中选择随机方向:上、下、左、右、左上、右上、左下和右下。estimatedTrianglesCount
- 估计的三角形粒子数量。指定它可以使您根据需要调整动画的性能。例如,如果您知道您要在较小的视图中使用它,您可以将它分成更多的三角形。请注意,这仅是一个估计值,最终的三角形数量还将取决于视图或图层的确切大小。此参数具有经验选择的默认值,因此您无需指定它。
此外,您可以指定一个在动画完成时执行的完成块。
以下是一些使用 Disintegrate 的示例:
avatarImageView.disintegrate()
cancelButton.disintegrate(direction: .upperLeft)
gradientLayer.disintegrate(estimatedTrianglesCount: 100)
errorLabel.disintegrate(direction: .down, estimatedTrianglesCount: 200) {
print("Error label animation finished.")
}
安装
CocoaPods
Disintegrate可通过CocoaPods安装。要安装它,只需将以下行添加到您的Podfile中
pod 'Disintegrate'
Carthage
要使用Carthage将Disintegrate集成到您的Xcode项目中,请在Cartfile中指定它
github "dbukowski/Disintegrate" ~> 0.2.0
运行carthage update以构建框架,并将构建的Disintegrate.framework拖放到您的Xcode项目中。
手动安装
或者,您可以直接复制从Disintegrate/Classes
目录下的3个文件。
示例
要运行示例项目,首先从示例目录中 克隆repo,然后运行pod install
。
要求
Disintegrate需要iOS 8.0或更高版本。
作者
达留什·布科夫斯基,[邮箱匿名保护]
许可证
Disintegrate 在MIT许可证下提供。请参阅LICENSE文件以获取更多信息。