Во-первых, я призываю к осторожности при желании использовать жест встряхивания для чего-либо, особенно если вы новичок в программировании на iOS.Это было в ярости, когда начали появляться первые приложения, пока люди не начали понимать, что встряхивание используется практически для всего, что делает его в основном бессмысленной функцией.Из-за отсутствия лучшего термина оно стало устаревшим.
Если вы привержены жесту встряхивания, вы захотите создать подкласс UIWindow
и реализовать следующие методы:
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent*)event;
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent*)event;
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent*)event;
UIEventSubtype
, который вы ищете, это UIEventSubtypeMotionShake
.
Что касается вашей функции "слайд", я предполагаю, что вы в основном говорите о горизонтальном перелистывании между экранами.Есть несколько способов сделать это, и я думаю, что все сводится к тому, как вы реализуете свою базовую иерархию контроллера представления.Я сам этого не делал, но если бы это было так, я бы, вероятно, просто вручную обнаруживал касания пользователя в моем представлении, чтобы определить, кто-то проводит пальцем слева направо или справа налево, а затем изменял бы представления с соответствующим переходом.анимация.