Взять любое кастмное View на данном экране. Добавить в его коде:
- (BOOL)canBecomeFirstResponder
{
return YES; // Для отлавления Shake события
}
При загрузке данного View Controller и инциализации данного View делать следующее:
[_composeButton becomeFirstResponder]; // Для отлавления Shake события
Добавить следующий метод в данном View Controller.
// Для отлавления Shake события
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
// Обработка события встряхивания
if ( event.subtype == UIEventSubtypeMotionShake ) {
NCLog(@"Shaked");
if ( UD_BOOL(UDKeyNewMessageOnShake) ) [self showComposeEmailViewControllerInMode:kComposeModeNew WithMCMessageFromIndexPath:nil];
}
}
Все!