为 iOS 设计的 Flow Common 文件
我们在这里追求的主要目标是生成尽可能干净的代码。对于任何平台,这意味着遵守行业标准。对于 iOS,特别意味着远离第三方库。
为了使事情尽可能干净,我们为每个导出提供了一些扩展 iOS 类原生功能的文件。
安装
CocoaPods
要使用 CocoaPods 安装 FlowCommoniOS
,请将 pod 'FlowCommoniOS'
添加到您的项目 Podfile 中,并在项目目录中运行 pod install
。如果您以前从未使用过 CocoaPods,请参阅https://guides.cocoapods.org.cn/using/getting-started.html。
类
有 6 个类是运行任何使用 Flow 时间线的 iOS 项目所必需的。其中一些是一些相对较小的子类,例如 TextView
。还有一些较大的类,如 Animation
和 Timeline
,这些对于将可爱的 Flow 功能带入您的应用至关重要。
您可以在从 Flow 导出的任何 iOS 项目的以下位置找到所有常用文件。从 XCode 项目导航器中,您可以在 FlowCommon
目录中找到它们。
动画
动画
对象表示特定动画的详细信息,包括时间控制、动画层以及播放和控制的方法。
我们的动画文档是这个类的深入探讨。
时间线
时间线
对象代表与视图相关的一组动画。它包含对主视图动画的引用以及持续时间、声音和其他选项,如重复。此类负责启动和控制与视图相关联的所有动画的播放。
我们的时间线文档对这个类进行了深入探讨。
SVG解析器
SVGPathStringParser
类负责将SVG字符串转换为CGPath
。它非常有用,甚至可以在Flow项目之外单独使用。
我们的SVGPathStringParser文档对这个类进行了深入探讨。
还有一个SVGPathStringTokenizer
类,它将SVG字符串分解为其组件(即令牌)元素,以便可以准确地重建为CGPath
。
使用这些类,解析SVG字符串就像这样简单
let string = CGPathCreateWithSVGString("M0...")
我们的SVGPathStringTokenizer文档对这个类进行了深入探讨。
形状视图
ShapeView
对象是UIView
的一个简单子类,包括以下变量
shapeLayer: CAShapeLayer
gradientLayer: CAGradientLayer?
path: CGPath?
我们的形状视图文档对这个类进行了深入探讨。
文本视图
TextView
是一个简单的 UILabel
子类,它提供了一个 textLayer
变量。
我们关于 Text View 的文档对这个类进行了深入的介绍。
声音
Sound
对象包含一个 AVAudioPlayer
,一旦创建,它将在特定的 TimeInterval
过去后播放声音。
我们关于 Sound 的文档对这个类进行了深入的介绍。
扩展
有一些扩展是必不可少的,它是为了在iOS项目中运行Flow动画而针对原生iOS类进行的。这些扩展中许多在外部Flow相关项目中也能带来很多功能和功能。
CAKeyframeAnimation
此扩展定义了一个名为 reversed
的变量,用于反转标准 CAKeyframeAnimation
对象的时序和值。
我们关于 CAKeyframeAnimation 的文档对这一扩展进行了深入的介绍。
CAMediaTimingFunction
此扩展向标准iOS时序函数添加了新的变量和选项。例如,它定义了一个 var reversed
,返回当前时序函数的反转版本。
我们关于 CAMediaTimingFunction 的文档对这一扩展进行了深入的介绍。
CATransaction
此扩展增加了一个用于抑制动画的非常有用的函数。这对于使用 Core Animation 的人来说非常方便。
我们的 CATransaction 文档深入介绍了此扩展。
CharacterSet
此扩展增加了一个用于判断特定字符是否属于当前字符集的有用函数。
我们的 CharacterSet 文档深入介绍了此扩展。
NSMutableParagraphStyle
此扩展为创建段落样式提供了方便的初始化方法。
我们的 NSMutableParagraphStyle 文档深入介绍了此扩展。
NSShadow
此扩展提供了创建阴影的方便初始化方法。
我们的 NSShadow 文档深入介绍了此扩展。
UIImage
此扩展增加了一个便利的方法来调整图像大小。
我们的 UIImage 文档深入介绍了此扩展。
UIView
此扩展为在视图中设置 transform
属性提供了一个方便的方法。
我们关于 UIView 的文档是此扩展的深入探讨。