2017-04-24 13 views
0

panGesture를 사용하여보기 컨트롤러를 왼쪽으로 스 와이프 (왼쪽으로 패닝) 할 때 어떻게 푸시합니까? 현재 SwipeRightToPopController github 라이브러리를 사용하여 오른쪽으로 패닝 할 때 팝 뷰 컨트롤러를 구현합니다.왼쪽 스 와이프의보기 컨트롤러 밀어 내기

+0

나는 그것을 테스트하지 않았습니다에서이

처럼 시도, 그러나 이것은 당신이 원하는 것을 할 나타납니다 https://github.com/robertmryan/ScreenEdgeGestureNavigationController – DonMag

+0

누구 게시물에 -1을주는이 녀석 –

답변

0

이 시도 :의 viewDidLoad에서

:

UISwipeGestureRecognizer *swipeLeftGesture=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGesture:)]; 
[self.view addGestureRecognizer:swipeLeftGesture]; 
swipeLeftGesture.direction=UISwipeGestureRecognizerDirectionLeft;// change direction as per your needs 

그 선택 방법 :

-(void)handleSwipeGesture:(UIGestureRecognizer *) sender 
{ 
    NSUInteger touches = sender.numberOfTouches; 
    if (touches == 2) 
    { 
     if (sender.state == UIGestureRecognizerStateEnded) 
     { 
      //push view controller here  
     } 
    } 
} 

사용하여 팬 제스처

,
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panDetected:)]; 
[self.view addGestureRecognizer:panRecognizer]; 

- (void)panDetected:(UIPanGestureRecognizer *)panRecognizer 
{ 
    CGPoint velocity = [panRecognizer velocityInView:self.view]; 

    NSLog(@"Pan Detected."); 

    if (velocity.x > 0) 
    { 
     NSLog(@"Pan went right."); 
    } 
    else 
    { 
     NSLog(@"Pan went left.");  

     if (panRecognizer.state == UIGestureRecognizerStateChanged) 
      NSLog(@"push here "); 

     [self performSegueWithIdentifier:@"Settings" sender:panRecognizer]; 
    } 
} 
+0

당신의 노력에 감사드립니다. 그러나 이것은 손가락으로 움직이지 않을 것입니다.보기 컨트롤러를 누르는 동안 나는 냄새 제스처 유형을 원합니다. 예 : 왼쪽에서 오른쪽으로 극도로 스 와이프하면 팝업을 얻을 –

1

의 viewDidLoad

let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipes)) 
let rightSwipe = UISwipeGestureRecognizer(target: self, action:#selector(handleSwipes)) 

leftSwipe.direction = .left 
rightSwipe.direction = .right 

view.addGestureRecognizer(leftSwipe) 
view.addGestureRecognizer(rightSwipe) 

func handleSwipes(sender:UISwipeGestureRecognizer) { 
    if (sender.direction == .left) 
    { 
     let mainStoryboardIpad : UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
     let initialViewControlleripad : UIViewController = mainStoryboardIpad.instantiateViewController(withIdentifier: "FirstViewController") as UIViewController 
     self.navigationController?.pushViewController(initialViewControlleripad, animated: false) 
    }if(sender.direction == .right){ 

     let mainStoryboardIpad : UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
     let initialViewControlleripad : UIViewController = mainStoryboardIpad.instantiateViewController(withIdentifier: "SecondViewController") as UIViewController 
     self.navigationController?.pushViewController(initialViewControlleripad, animated: false) 
    } 
} 
+0

당신의 노력에 감사하지만,이 손가락으로 가지 않을거야, 나 보기 컨트롤러를 누르는 동안 느낌의 팬 제스처 유형을 원합니다. 예 : 왼쪽에서 오른쪽으로 스 와이프하면 팝업이 표시됩니다. –