Skip to content

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

License

Notifications You must be signed in to change notification settings

c0defather/iOSGesturizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published