GSTouchesShowingWindow-Swift 1.0.3

GSTouchesShowingWindow-Swift 1.0.3

测试测试
Lang语言 SwiftSwift
许可证 MIT
发布最新发布2017 年 8 月
SwiftSwift 版本3.0
SPM支持 SPM

Lukas Petr 维护。




GSTouchesShowingWindow-Swift

这是一个简单的工具,它使用圆形图像指示器自动显示您应用中发生的所有触摸,这非常有用,用于创建应用商店或任何类型的 应用视频,在这些视频里需要演示一些难以展示的丰富的用户交互。

(寻找 Objective-C 版本?它在这里:here.)

示例

我的时间追踪应用 Timelines 中的简短交互。

安装

GSTouchesShowingWindow 可通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile 中

pod 'GSTouchesShowingWindow-Swift'

或者,您可以直接将 GSTouchesShowingWindow-Swift/ClassesGSTouchesShowingWindow-Swift/Assets.xcassets 拖到您的项目中。

如何设置

在您的 AppDelegate.swift 中,将 var window: UIWindow? 替换为以下代码

    var customWindow: GSTouchesShowingWindow?
    var window: UIWindow? {
        get {
            customWindow = customWindow ?? GSTouchesShowingWindow(frame: UIScreen.main.bounds)
            return customWindow
        }
        set {
            
        }
    }

如果您使用的是 CocoaPods 集成,您还需要在文件顶部添加以下 import

import GSTouchesShowingWindow_Swift

这样就完成了!

应用扩展

如果您正在使用应用扩展(如 Today 扩展或键盘扩展),您也可以在其中显示触摸。首先,您需要将 GSTouchesShowingWindow-Swift 集成到您的应用扩展目标中。如果您使用 CocoaPods,您需要添加 pod,如下所示

target 'Today Extension' do
    use_frameworks! 
    pod 'GSTouchesShowingWindow-Swift'
end

如果您没有使用 CocoaPods,您需要将 GSTouchesShowingWindow-Swift/Classes 拖到您的扩展目标中,或者您可以将它们的 Target Membership 设置为包括扩展

Setting the Target membership in Utilities / File inspector / Target membership

然后,在您的 KeyboardViewController.mTodayViewController.m 中,添加以下行到 -viewDidLoad: 方法的末尾附近

self.view.addGestureRecognizer(GSTouchesShowingGestureRecognizer())

与主应用目标一样:如果您使用 CocoaPods 集成,您还需要使用以下方式导入模块

import GSTouchesShowingWindow_Swift

注意:在今天扩展(小部件)中(Widgets),在您开始拖动后(水平和垂直方向),触摸将会短暂消失。这是预期的,因为系统接管了手势控制。

实际工作原理

在我自定义的 UIWindow 子类中,我重写了 -sendEvent 方法,处理所有事件并将它们定向到一个控制器对象,该对象将根据这些事件的触摸来添加/移动/删除 imageViews。然后我调用 [super sendEvent]; 以将触摸传递到应用本身。有关更多信息,请参阅 了解响应者和响应链。对于扩展,使用 UIGestureRecognizer 子类,因为无法重写 window。

如果您有任何问题,请在 Twitter 上与我联系 @luksape。如果您在制作应用视频时使用了这个,我很乐意听到您的反馈!