0

Ich arbeite mit uiswipegesture recognizer direction nach oben und unten. Es funktioniert ordnungsgemäß, aber wenn ich hinzufügen, UINavigationController Swipe funktioniert nicht. Dies ist mein Code ...uiswipegesture_recognizerdirectionup und uinavigationcontroller funktionieren nicht?

//In viewDidLoad 

UISwipeGestureRecognizer *gesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)]; 
gesture.direction = UISwipeGestureRecognizerDirectionUp | UISwipeGestureRecognizerDirectionDown; 
[self.view addGestureRecognizer:gesture]; 

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTapViewController:)]; 
[self.view addGestureRecognizer:tap]; 


-(void)didSwipe:(UIGestureRecognizer *)gestureRecognizer { 

CATransition *animation = [CATransition animation]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromTop]; 
[animation setDuration:1.25]; 
[animation setDelegate:self]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
CALayer *layer = [self.view layer]; 
[layer addAnimation:animation forKey:nil]; 
[self.view.window addSubview:self.view]; 

} 

- (void) onTapViewController: (UIGestureRecognizer *) gesture { 
} 

- (IBAction)onClickBtn:(id)sender { 

GotoNextViewController *gnvc = [self.storyboard instantiateViewControllerWithIdentifier:@"GNVC"]; 
[self.navigationController pushViewController:gnvc animated:NO]; 

} 

hier, wenn i-Taste Navigation richtig funktioniert klicken, aber klauen nicht funktioniert.

+0

, was Sie tun müssen, weil Ihr Code Swipe mit mir arbeitet –

+0

, wenn ich die Navigation zu root-View-Controller hinzufügen, es ist für mich nicht – iOS

+0

Arbeits Sind Sie meine Swipe on Navigation oder seine Ansicht Controller –

Antwort

2
UISwipeGestureRecognizer *gesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)]; 
    gesture.direction = UISwipeGestureRecognizerDirectionUp | UISwipeGestureRecognizerDirectionDown; 
    [self.view addGestureRecognizer:gesture]; 



and animation 

    -(void)didSwipe:(UIGestureRecognizer *)gestureRecognizer { 

     CATransition *animation = [CATransition animation]; 
     [animation setType:kCATransitionPush]; 
     [animation setSubtype:kCATransitionFromTop]; 
     // [animation setSubtype:kCATransitionFromBottom]; 
     [animation setDuration:1.25]; 
     [animation setDelegate:self]; 
     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
     [self.view.layer addAnimation:animation forKey:nil]; 

    } 
+0

es funktioniert nicht für mich – iOS

+0

Überprüfen Sie meine Änderungen über –

+0

Navigation funktioniert aber in root VC Wischen nicht woking – iOS

1

Fügen Sie Ihre GestureRecognizer in Ihre navigationController Ansicht wie folgt aus:

[self.navigationController.view addGestureRecognizer:gesture]; 
[self.navigationController.view addGestureRecognizer:tap]; 
+0

es funktioniert nicht für mich – iOS

Verwandte Themen