Нажатие «Жест встряски» в симуляторе iPhone не воспроизводит анимацию - возможно, именно поэтому оно, похоже, ничего не делает?
Вы можете получать уведомления о событиях встряхивания в своем коде, реализуя motionEnded:withEvent:
в подклассе UIResponder
.Например, если вам нужно создать пользовательский подкласс UIWindow
:
// ShakeWindow.h
@interface ShakeWindow : UIWindow
@end
// ShakeWindow.m
#import "ShakeWindow.h"
@implementation ShakeWindow
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (motion == UIEventSubtypeMotionShake) {
NSLog(@"Shake!");
}
}
@end
Для получения дополнительной информации см. Раздел События движения в Руководстве Apple по обработке событий для iOS.