0

그래서 나는 버튼과 TouchUpInside 이벤트가 이미 해당 버튼에 할당되어 있습니다. 버튼을 누르면 화면 하단에서부터 화면 절반 정도까지 메뉴가 활성화됩니다.UISwipeGestureRecognizer 특정 위치에서

하지만 사용자가 버튼 내부에서 위로 스 와이프하여 메뉴에 애니메이션을 적용하고 버튼 내에서 아래로 스 와이프하여 애니메이션에 추가 할 수 있기를 바랍니다.

나는 위아래로 스 와이프 제스처를 파악할 수 있었지만 전체보기에서 작동합니다.
그래서 사용자가보기의 아무 곳이나 쓸어 넘기면 움직입니다.

어떻게하면 위치 정보 터치를 가져 와서 버튼 안에서 스 와이프의 시작점을 제한 할 수 있습니까?

UISwipeGestureRecognizer UpSwipe; 
UISwipeGestureRecognizer DownSwipe; 

을 그리고 다음이 내가 그들을 사용하는 방법은 다음과 같습니다 :

내가 delclared :

public void setupGestures() { 

     this.UpSwipe = new UISwipeGestureRecognizer() { 
      Direction = UISwipeGestureRecognizerDirection.Up, 
      Enabled = true 
     }; 

     this.DownSwipe = new UISwipeGestureRecognizer() { 
      Direction = UISwipeGestureRecognizerDirection.Down, 
      Enabled = true 
     }; 

     UpSwipe.AddTarget (animateRecentActivityView); 
     DownSwipe.AddTarget (animateAwayRecentActivityView); 

     this.View.AddGestureRecognizer (UpSwipe); 
     this.View.AddGestureRecognizer (DownSwipe); 
    } 
+0

제스처 인식기를보기에 추가하고 단추에 추가하면 어떻게됩니까? – valdetero

+0

나는 그것을 시도했지만 전체 스 와이프가 작동하기 위해서는 버튼 내부에 있어야하며 버튼은 너무 작습니다. 스 와이프로 인식하지 못합니다. –

+0

실제로 내 버튼은 자신의 견해 안에 있었고 그것이 작동하지 않는 이유입니다. 뷰 외부에 버튼을 놓고 버튼에 스 와이프 제스처를 적용하면 효과가있었습니다. 감사합니다. –

답변

0

나는 실제로 그것을 알아낼 수있었습니다. 내 버튼이 뷰 내부에 있었고 버튼에 스 와이프 제스처를 추가했지만 어떻게 든 작동하지 않았습니다. 뷰에서 제거한 후 swipeGesture를 버튼에 직접 추가하면 완벽하게 작동합니다.

 this.UpSwipe = new UISwipeGestureRecognizer() { 
      Direction = UISwipeGestureRecognizerDirection.Up, 
      Enabled = true 
     }; 

     this.DownSwipe = new UISwipeGestureRecognizer() { 
      Direction = UISwipeGestureRecognizerDirection.Down, 
      Enabled = true 
     }; 

     UpSwipe.AddTarget (animateRecentActivityView); 
     DownSwipe.AddTarget (animateAwayRecentActivityView); 

     btnAct_HomeRecentActivity.AddGestureRecognizer (UpSwipe); 
     btnAct_HomeRecentActivity.AddGestureRecognizer (DownSwipe); 
0

가 어떻게이 LocationOfTouch 얻을 수

내가 지금 무엇을 가지고 스 와이프의 시작점을 버튼 내에서 제한 하시겠습니까? 순수 코코아 터치는 UIView 대체 할 수 있습니다에서

- (CGPoint)locationInView:(UIView *)view 

당신의 방법의 방법

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

매개 변수를 "접촉"는 UITouch

전화 UITouch의 집합을 포함 ' 터치 지점의 위치를 ​​얻으십시오

+0

터치의 PointF 위치를 가져올 수는 있지만 어떻게하면이를 사용하여 swipeGesture에서 작동하게 할 수 있습니까? 사용자의 터치가 버튼 내부에 있고 싶을 때 위로 스 와이프하면 메뉴가 움직입니다. 버튼이 전체 스 와이프에 비해 너무 작기 때문에 스 와이프의 끝 위치는 버튼에 없습니다. –

관련 문제