coneybeare
coneybeare

Reputation: 33101

How can I differentiate a Shake vs a Tilt on the iPhone

I have a page UIScrollView that will scroll 1 page left or right depending on the tilt of the phone.

I would also like to implement "Shake for a random page", but cannot figure out how to do the logic for differentiating a shake motion and a x-axis tilt.

Can these two motions be used in conjunction with one another? I don't need anything complicated like shaking while tilting, I just want both to work independently of one another.

Upvotes: 1

Views: 2392

Answers (3)

Marco Mustapic
Marco Mustapic

Reputation: 3859

The iPhone Application Programming Guide offers code samples for detecting gravity (tilt) and sudden acceleration (shakes)

Upvotes: 2

TWA
TWA

Reputation: 12816

To detect a "shake" you would check the g-force generated. It will be higher for a shake vs a tilt.

How do I detect when someone shakes an iPhone?

You can definitely use both at the same time, just check the g-force for a high enough value to indicate a shake (> 1g - adjust to get the sensitivity to your liking), then if no shake is detected fall through to the tilt checking.

Upvotes: 3

Aric TenEyck
Aric TenEyck

Reputation: 8032

A tilt should never exceed 1g, while a shake can easily do so.

Upvotes: 0

Related Questions