iOSGesturizer

Enables Unistroke Gesture Interaction for iOS apps running on 3D-touch devices

20
4
Swift

iOSGesturizer

Introducing iOSGesturizer - the framework that easily enables unistroke gesture interaction for any apps running on iOS devices with 3D-touch.

iOSGesturizer

Features

  • Gestures can be executed anywhere on the screen without conflicting with existing UI views.
  • Gestures are customizable - simply provide your gesture (x,y) points.
  • Gesture mode is activated when a user applies additional pressure to the screen.
  • Supports training mode to learn gestures (based on OctoPocus).
  • Training mode is activated when a user ‘hesitates’, i.e. after 1 second.

Requirements

  • iOS 9 or later
  • iPhone 6s or later (3D-touch)

Demo

Video demo is available on YouTube.

Build and run the FoodTrack project in Xcode. Basically, we took an app provided in Apple’s tutorials and applied iOSGesturizer to it.

Usage

In AppDelegate class add the following line:

var window: UIWindow? = GesturizerWindow()

Also, in your main View Controller add the following lines:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    let window = UIApplication.shared.keyWindow! as! GesturizerWindow
    let view = GesturizerView()
    view.gestureHandler = {index in
        // write a command related to a gesture with given index
	// i.e. do whatever you need
    }
    window.setGestureView(view: view)
}

Installation

The Pod Way

Simply add the following line to your Podfile:

pod 'iOSGesturizer'

The Old School Way

Another way to use iOSGesturizer with your application is to add iOSGesturizer folder as a framework in Builds Settings in your XCode project.

Customization

For customization of gestures provide your data points into TemplateData class.

Acknowledgements

Thanks to Noble Applications for provided resources and help in development of the framework.

License

Copyright 2018 Kuanysh Zhunussov

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.