Во-первых, я настоятельно рекомендую использовать жест встряски для чего-либо, особенно если вы новичок в программировании на 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
.
Что касается вашей функции «слайда», я предполагаю, что вы в основном говорите о подкачке между экранами по горизонтали. Есть несколько способов, которыми вы можете это сделать, и я думаю, что это сводится к тому, как вы реализуете свою базовую иерархию диспетчера представлений. Я не делал этого сам, но если бы я был, я бы, вероятно, просто вручную обнаружил пользовательские касания на моем представлении, чтобы определить, чьи-то прокручиваются слева направо или справа налево, а затем меняют представления с соответствующим переходом анимация.