洞见 是一个功能强大且轻量级的库,用于创建滚动和运动视差。
(致谢:示例项目中使用的资产来自 Free Game Assets)
需求 • 用法 • 安装 • 贡献 • 联系方式 • 许可证
需求
- iOS 11.0+
- Xcode 10.0+
- Swift 5+
用法
基础
创建一个 PerspectiveView
import Perspective
let perspectiveView = PerspectiveView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
view.addSubview(perspectiveView)
配置其尺寸 contentSize
perspectiveView.contentSize = CGSize(width: 1599, height: 900)
添加图层作为子视图
for i in stride(from: 7, to: 0, by: -1) {
let imgView = UIImageView(image: UIImage(named: "castle-layer0\(i)"))
imgView.frame.size = CGSize(width: 1599, height: 900)
perspectiveView.addArrangedSubview(imgView)
}
行为
行为是允许你与视角视图交互的对象。如果你想允许用户滚动视角,可以添加 PerspectiveScrollBehaviour
,如果你想要使用加速度计,只需添加 PerspectiveMotionBehaviour
。要向你的视角视图添加新的行为,你必须调用 addBehaviour
方法。
滚动
perspectiveView.addBehaviour(PerspectiveScrollBehaviour())
动画
perspectiveView.addBehaviour(PerspectiveMotionBehaviour())
如何工作
PerspectiveView
的frame
矩形:描述了这个视图在其父视图坐标系统中的位置和大小,就像任何其他UIView
。PerspectiveView
的contentSize
:定义了内容(通常是UIImageView
)的延伸范围。arrangedSubviews
:列出由透视视图排列的视图。视图的顺序与任何UIView
中一样。前台视图位于数组末尾(与作为数组第一个元素的后台相反)。
配置
如果您使用运动行为,请将Info.plist文件中的UIRequiredDeviceCapabilities
密钥配置为accelerometer
和gyroscope
值。
要了解更多,请查看示例项目。
安装
在您的项目中使用Perspective的建议方法是通过CocoaPods包管理器,因为它提供了灵活的依赖关系管理和简单的安装过程。
测试Pod
如果没有,请安装CocoaPods
$ [sudo] gem install cocoapods
$ pod setup
进入您的Xcode项目目录,创建或编辑您的 Podfile 并添加 视角
$ cd /path/to/MyProject
$ touch Podfile
$ edit Podfile
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!
pod 'Perspective', '~> 0.9.1'
将视角安装到项目中
$ pod install
从.xcworkspace文件(而不是常规的项目文件)打开Xcode中的项目
$ open MyProject.xcworkspace
现在您可以将 视角
框架导入到文件中。
Carthage
Carthage 是一个去中心化的依赖管理器,可以自动将框架添加到您的 Cocoa 应用程序中。
您可以使用以下命令通过 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 视角
集成到您的 Xcode 项目中,在您的 Cartfile
文件中指定它
github "yannickl/Perspective" >= 0.9.1
手动
下载 项目并将 视角
文件夹复制到您的项目中以使用。
贡献
欢迎和鼓励贡献 ♡。
联系
Yannick Loriot
许可(MIT)
版权所有(c)2018-至今 - Yannick Loriot
在此特此授予任何人获得本软件及其相关文档副本(以下简称“软件”)的权利,无权使用限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许将软件提供给其他人根据以下条件进行如此操作:
上述版权声明和本许可声明应包含在软件的任何副本或实质性部分中。
软件按“原样”提供,不包括任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和不侵犯知识产权的保证。在任何情况下,作者或版权持有人不应对任何索赔、损害或其他责任承担责任,无论这些责任是因合同行为、侵权或其他行为引起的,无论是源自软件或软件的使用或任何其他方式。