TouchVisualizer 是一个轻量级的纯 Swift 实现的屏幕触摸可视化工具。
特性
- 只需要一行代码即可实现!
- 支持多个手指。
- 支持多个
UIWindow
。 - 显示触摸半径(手指大小)。
- 显示触摸持续时间。
- 自定义手指点图像和颜色。
- 支持 iPhone 和 iPad,这在竖屏和横屏模式下都适用。
外观
竖屏
横屏
机器人
应用内实现
很有趣!
运行要求
- Swift 4.0
- Xcode 9.2
- iOS 9.0 或更高版本
从 4.0.0 版本开始,TouchVisualizer 与 Swift 5.2 兼容。
安装和设置
注意:嵌入式框架的最低部署目标为 iOS 9.0。
信息:要使用与 iOS 8.0 或更低版本的项目,必须在您的项目中直接包含 TouchVisualizer.swift
源文件。
使用 CocoaPods 安装
CocoaPods 是一个集中的依赖关系管理器,可自动将库添加到您的 Cocoa 应用。您可以使用以下命令安装它:
$ gem update
$ gem install cocoapods
$ pods --version
要使用 CocoaPods 将 TouchVisualizer 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它,并运行 pod install
。
platform :ios, '9.0'
use_frameworks!
pod "TouchVisualizer", '~> 4.0'
使用 Carthage 安装
Carthage是一个去中心化的依赖管理器,它能够自动将框架添加到您的Cocoa应用中。
您可以使用以下命令通过Homebrew安装Carthage:
$ brew update
$ brew install carthage
要使用Carthage将TouchVisualizer集成到您的Xcode项目中,请在您的Cartfile
中指定它。
github "morizotter/TouchVisualizer" "4.0.0"
手动安装
如果您的项目中没有使用依赖管理器,请将/Pod
目录下的所有文件添加到您的Xcode项目中。
用法
要开始使用TouchVisualizer,在您希望开始可视化的地方编写以下行:
import TouchVisualizer
然后通过以下方式调用可视化:
Visualizer.start()
像这样停止演示:
Visualizer.stop()
通过这种方式获取触摸位置:
Visualizer.getTouches()
非常简单,不是吗?
自定义
TouchVisualizer还具有自定义您的触摸事件的能力。以下是可以自定义的示例:
var config = Configuration()
config.color = UIColor.redColor()
config.image = UIImage(named: "YOUR-IMAGE")
config.showsTimer = true
config.showsTouchRadius = true
config.showsLog = true
Visualizer.start(config)
配置属性
name | type | description | default |
---|---|---|---|
color | UIColor |
触摸点和文本的颜色。 | 默认颜色 |
image | UIImage |
触摸点图像。如果渲染模式设置为UIImageRenderingModeAlwaysTemplate ,图像将被上面的颜色填充。 |
circle image |
defaultSize | CGSize |
触摸点的默认大小。 | 60 x 60px |
showsTimer | Bool |
显示触摸持续时间。 | false |
showsTouchRadius | Bool |
通过缩放触摸点显示触摸半径。不支持在模拟器上运行。 | false |
showsLog | Bool |
显示日志。 | false |
文档
外设
演示
- TouchVisualizer Demo movie #potatotips // Speaker Deck @potatotips 2015年5月13日
贡献
请提交您希望添加的功能的问题报告或Pull Request!我们在等待!:)
许可
TouchVisualizer遵循MIT许可证发布。请阅读LICENSE文件以获取更多信息。
杂项
还有一个类似的触摸可视化库称为COSTouchVisualizer,用Objective-C编写。COSTouchVisualizer支持早期版本的iOS,更为成熟。如果TouchVisualizer不能满足您的需求,可以尝试使用它!