There's a way to do this in Uiresponder.
-(void) Motionbegan: (uieventsubtype) motion withevent: (uievent *) event __osx_ Available_starting(__MAC_NA,__IPHONE_3_0);
-(void) motionended: (uieventsubtype) motion withevent: (uievent *) event __osx_ Available_starting(__MAC_NA,__IPHONE_3_0);
-(void) motioncancelled: (uieventsubtype) motion withevent: (uievent *) event __osx_ Available_starting(__MAC_NA,__IPHONE_3_0);
This is the way to perform a shake. So how do you use these methods?
Very simple, you just have to let the controller itself support shaking
At the same time let him be the first corresponding person:
-(void) viewdidload
{
[Superviewdidload];
Additional setup after loading the view, typically from a nib.
[[uiapplicationsharedapplication] setapplicationsupportsshaketoedit:YES ];
[self becomefirstresponder];
}
And then we can get to the next few ways.
-(void) Motionbegan: (uieventsubtype) motion withevent: (uievent *) event
{
// Shake detected
}
-(void) motioncancelled: (uieventsubtype) motion withevent: (uievent *) event
{
// Shake Cancel
}
-(void) motionended: (uieventsubtype) motion withevent: (uievent *) event
{
// Shake end
if (event. subtype == Uieventsubtypemotionshake) {
//something happens
}
}
As for the interface I will not write ~