У меня есть два представления, и я хочу использовать жест панорамирования в правильном направлении (например, жест, используемый в приложении Facebook ios), чтобы переключиться на второй вид. Вид должен начать меняться, как только мы начнем использовать жест панорамирования. Как я могу это сделать? У кого-нибудь есть пример кода, который выполняет это действие?
Как переключаться между представлениями с помощью Pan Gesture Recognizer в iOS?
Ответы (1)
Существует git с примером проекта, на который вы можете ссылаться на эффект бокового меню, который есть в приложении Facebook для iOS.
https://github.com/BenHall/ios_facebook_style_navigation
ИЗМЕНИТЬ:
Хорошо, тогда попробуйте что-то вроде этого:
UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(scrollViewSwipedLeft:)];
[swipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
[self.navigationController.navigationBar addGestureRecognizer:swipeLeft];
Затем обработайте свайп примерно так:
-(void) didSwipedLeft: (UISwipeGestureRecognizer *) gesture {
if (gesture.state != UIGestureRecognizerStateEnded) {
return;
}
//do something
}
person
jakenberg
schedule
10.01.2013
В примере проекта не используется жест панорамирования... мне нужно переключать виды с помощью жеста панорамирования..
- person Shaunak; 10.01.2013
Я хочу выполнить что-то вроде этого: UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)]; [panRecognizer setMinimumNumberOfTouches: 1]; [panRecognizer setMaximumNumberOfTouches: 1]; //[panRecognizer setDelegate:self]; [[собственный вид] addGestureRecognizer:panRecognizer];
- person Shaunak; 10.01.2013
- (void)handlePan:(UIPanGestureRecognizer*)recognizer { CGPoint translation = [recognizer translationInView:recognizer.view]; распознаватель.view.center=CGPointMake(recognizer.view.center.x+translation.x, распознаватель.view.center.y+translation.y); [распознаватель setTranslation:CGPointMake(0, 0) inView:recognizer.view]; }
- person Shaunak; 10.01.2013
С помощью этого кода я могу перетаскивать текущий вид в любом направлении и при этом открывать вид под ним. Но в этом коде отсутствующие элементы — это направление жеста панорамирования и изменение подвида при панорамировании.
- person Shaunak; 10.01.2013
Вот почему я вместо этого разместил
UISwipeGestureRecognizer
.
- person jakenberg; 10.01.2013
Вы правы, но это не дало бы возможности управлять свайпом, как в приложении facebook.
- person Shaunak; 10.01.2013
вы когда-нибудь пришли к выводу об этом?
- person Rob; 28.05.2013