Skip to content
DjComandosPublic

About

Swift: how to use 3D Touch - Introduction

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

3dTouch

Swift: how to use 3D Touch - Introduction

3D Touch or force touch - this is anew feature that have been introduced in the iPhone 6s. It's interesting to know that you can get touch force, it is a number from 0 up to 6.6667, actually it a number from 0 up to maximumPossibleForce.

Let's take a look at how to check if 3d touch is supported on current device:

func is3dTouchAvailable(traitCollection: UITraitCollection) -> Bool {
    return traitCollection.forceTouchCapability == UIForceTouchCapability.available
}

// Let's call it somewhere from the GameScene for instance
override func didMove(to view: SKView) {

    hardwareService.initDevice()
    if(is3dTouchAvailable(traitCollection: self.view!.traitCollection)) {
       //...
    }
    
}

Feel free to take a look at the example project - I'll provide the link in the end of this post. So this is a good practice to check whether 3d touch is supported or not.

Here's an example of how to get the force of the 3d touch

func touchMoved(touch: UITouch, toPoint pos: CGPoint) {
    let location = touch.location(in: self)
    let node = self.atPoint(location)
    
    //...
    if is3dTouchEnabled {
        bubble.setPressure(pressurePercent: touch.force / touch.maximumPossibleForce)
    } else {
        // It is important to use touchMoved for iPhones w/o 3dTouch,
        // So we can "emulate" it.
        bubble.setPressure(pressurePercent: 1)
    }
}

The current value of the Touch's force is touch.force and the touch.maximumPossibleForce is a good one to convert force value to the "percentage". This code is from the small example of how to "emulate" the bubble reacting on the force of the touch.

About

Swift: how to use 3D Touch - Introduction

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages