Apple annonced Shake API in iPhone SDK 3.0. I can not find any information regarding this new feature.
Who knows about how to use it? Any example, link will be good.
Apple annonced Shake API in iPhone SDK 3.0. I can not find any information regarding this new feature.
Who knows about how to use it? Any example, link will be good.
The APIs you are looking for are in UIResponder:
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event;
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event;
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;
Generally you just implement this:
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.type == UIEventSubtypeMotionShake) {
//Your code here
}
}
in your UIViewController subclass (UIViewController is a subclass of UIResponder). Also, you want to handle it in motionEnded:withEvent:, not motionBegan:withEvent:. motionBegan:withEvent: is called when the phone suspects shaking is happening, but the OS can determine the difference between a user purposefully shaking, and incidental shaking (like walking up the stairs). If the OS decides it was not a real shake after motionBegan:withEvent: is called it will call motionCancelled: instead of motionEnded:withEvent:.
I posted a complete 3.0 example in this thread:
Joe Hewitt recently committed some code to Three20 that utilizes the 3.0 shake event. Seems like you just need to implement some simple code within -motionBegan:withEvent:
inside of your UIResponder
.
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.type == UIEventSubtypeMotionShake) {
...
}
}
© 2022 - 2024 — McMap. All rights reserved.
[self becomeFirstResponder];
on the view we require shake gesture to work? – Jac