SKUTouchPresenter 允许您向观众演示您的应用,并让他们跟随您的触摸。它会在屏幕被触摸的地方显示一个点(或多个点)。您可以配置点的颜色和不透明度,也可以在设备通过 AirPlay 或适配器线镜像到第二显示时仅显示点。
包含了示例应用,您可以使用它来切换点的开关并自定义颜色/不透明度
使用 Cocoapods
pod install
。手动(不使用 Cocoapods)
SKUTouchPresenter.h
和 SKUTouchPresenter.m
文件添加到您的项目中。QuartzCore
添加到您的项目中。重要:如果您已经使用了一个自定义的 UIApplication
子类,那么您应该编辑 SKUTouchPresenter.h
并将父类从 UIApplication
改为您的自定义子类的名称(这样继承链为 UIApplication
-> YourApplicationSubclass
-> SKUTouchPresenter
)。
在您的应用程序代理或您想开始显示触摸的地方调用 showTouchesWithColor:
或 showTouchesWhenMirroringWithColor:
。
+ (void) showTouchesWithColor: (UIColor *)color
在屏幕被触摸的任何地方启用(或禁用)显示点。传递
nil
来禁用。
+ (void) showTouchesWhenMirroringWithColor: (UIColor *)color
在屏幕被触摸的任何地方启用(或禁用)显示点,但只当设备通过 AirPlay 或适配器线镜像到第二显示时。
+ (void) setTouchRadius: (CGFloat)radius
设置点的半径(以像素为单位)。默认为 20 像素。
SKUTouchPresenter 类与或没有 ARC 都可以工作。
当启用时,该类通过 UIApplication sendEvents:
拦截触摸事件,在任何触摸发生的地方显示一个点。事件会传递下去,所以这不应该影响您的应用的行为。
为了通过 UIApplication sendEvents:
拦截事件,您通常会子类化 UIAppliation
。默认情况下,代码使用 动态子类化 在您第一次调用 showTouchesWithColor:
或 showTouchesWhenMirroringWithColor:
时自动完成,这使您能够使用 #define
块包装这些调用,并且只为特定的构建包含功能。
SKUTouchPresenter 不会使用任何私有 API,并且应该可以用于 App Store 审批。但是,您可以手动设置而无需动态子类化:您只需将 SKUTouchPresenter 添加为 UIApplication
的自定义子类。以下是如何做到这一点的步骤
main.m
,使@"SKUTouchPresenter"
成为UIApplicationMain
的第三个参数。UIApplication
的子类,请参阅使用部分关于子类的注意事项。SKUTouchPresenter.m
并删除含有“Can delete if subclassing...”的两段代码。版权所有 2011-2014 Scott Guelich。可按照MIT许可协议进行分发。