SPPerspective 1.4.1

SPPerspective 1.4.1

Ivan VorobeiIvan Vorobei维护。



  • Ivan Vorobei

SPPerspective

关于

来自iOS 14的可动画控件的视角。转换和阴影具有相同的动画。

还为持续时间、视点和阴影提供了自定义选项。使用示例应用程序进行视觉编辑,查看视频预览

https://opensource.ivanvorobei.by/spperspective/preview

如果您喜欢这个项目,不要忘记放上星号 ★
查看我的其他库

导航

安装

适用于iOS 12+。支持Swift 5+。需要Xcode 12.0或更高版本。

Swift 包管理器

Swift 包管理器是一个用于管理 Swift 代码分布的工具。它与 Swift 编译系统集成,以自动化下载、编译和链接依赖项的过程。

使用 Xcode 12 集成时,请在 文件 > Swift 包 > 添加包依赖... 中指定它。

https://github.com/ivanvorobei/SPPerspective

CocoaPods

CocoaPods 是 Cocoa 项目的依赖项管理器。有关使用和安装说明,请访问他们的网站。要使用 CocoaPods 集成,请在您的 Podfile 中指定它。

pod 'SPPerspective'

手动

如果您不想使用任何依赖项管理器,可以手动集成。将 Sources/SPPerspective 文件夹放入您的 Xcode 项目中。请确保启用 如需要复制项目创建组

快速开始

要对视图应用动画,请使用以下代码

view.applyPerspective(.iOS14WidgetAnimatable)

如果需要应用非动画转换,请使用此代码

view.applyPerspective(.iOS14WidgetStatic)

自定义

总结

你可以自定义持续时间、角度、阴影属性等。所有这些自定义都通过配置文件完成。配置可以是可动画的或静态的。上方展示了 .iOS14WidgetAnimatable.iOS14WidgetStatic,这同样是已经具有良好使用值的配置,与原生控件相同。

为了获取更精确的配置,最好使用示例应用(视频预览)。你可以实时查看配置的变化。

https://opensource.ivanvorobei.by/spperspective/preview

下面对自定义进行更详细的说明。

持续时间

当你初始化新的动画配置时,你可以设置持续时间

let animationConfig = SPPerspectiveAnimationConfig(duration: 16, distortion: 600, angle: 10, vectorStep: 3.14, shadow: nil)
view.applyPerspective(animationConfig)

如果需要更改默认配置的持续时间,请使用此方法

let animationConfig = SPPerspectiveConfig.iOS14WidgetAnimatable
animationConfig.animationDuration = 8
view.applyPerspective(animationConfig)

透视

角度是视图旋转的量。要更改它,在配置中调用 angle

animationConfig.angle = 10

你还可以自定义透视的扭曲。使用以下方法

animationConfig.distortionPerspective = 600

这两个属性都可以配置你的视图的转换。如果你不知道要使用哪些值,请检查示例应用(视频预览)。使用滑块可以更详细地自定义。

阴影

阴影也使用配置。静态和动画配置都包含了阴影属性。

模糊度、透明度及颜色

很简单。要更改模糊度、透明度和颜色,在配置中调用此方法。

animationConfig.shadowConfig?.blurRadius = 5
animationConfig.shadowConfig?.opacity = 0.3
animationConfig.shadowConfig?.color = .black

平移

平移可以帮助自定义变换任何状态的阴影位置。例如,你可能想要进行更多的垂直平移以显示深层次的变换。

为每个高亮角落进行自适应变换。例如,使用startVerticalOffset来高亮顶部中心侧。底部角落有可用:cornerVerticalOffset。对于底部中心的侧面应该更改maximumVerticalOffset。水平移动通过maximumHorizontalOffset进行自定义。

animationConfig.shadowConfig?.startVerticalOffset = 8
animationConfig.shadowConfig?.cornerVerticalOffset = 18
animationConfig.shadowConfig?.maximumVerticalOffset = 21
animationConfig.shadowConfig?.maximumHorizontalOffset = 12

为了获得良好的结果,您应该使用以下规则:startVerticalOffset < cornerVerticalOffset < maximumVerticalOffset。示例应用程序中提供了可视化变换(视频预览),您可以使用它获得良好的值。

其他项目

我喜欢提供帮助。在这里,我提供了一份我保持更新的库列表。要查看没有安装的库的视频预览,请打开opensource.ivanvorobei.by 网站。
我有带有本地接口和权限管理的库。也提供了一系列有用的扩展工具来加速开发过程。

贡献

我的英语很好。当你阅读文档时,你可以看到这一点。我真的很想有干净、漂亮的文档。如果你看到语法错误并可以帮助修复 Readme,请联系我 [email protected] 或者创建一个 Pull Request。提前感谢您!

其他项目

我喜欢提供帮助。在这里,我提供了一份我保持更新的库列表。要查看没有安装的库的视频预览,请打开opensource.ivanvorobei.by 网站。
我有带有本地接口和权限管理的库。也提供了一系列有用的扩展工具来加速开发过程。

俄罗斯社区

如果你想收到新教程的通知,请在电报频道上关注。
在聊天中可以帮助你解决复杂和难以理解的问题。

我在YouTube上发布视频教程。

Tutorials on YouTube