2013-05-10 1 views
1

매우 기본적인 스 와이프 감지 기능이 통합 된 앱을 만들고 싶다면 사용자보기에서 스 와이프 영역을 어떻게 결정할 수 있습니까? 예를 들어 재생 가능한 기타를 프로그래밍하는 경우, 기타 기타 문자열을 표현하기 위해 6 개의 길고 좁은 버튼을 만든 다음 '언론'이벤트 대신 '스 와이프'이벤트로 인해 메소드를 트리거 할 수 있습니까?스 와이프 방향, 터치 위치 등을 감지하는 방법은 무엇입니까?

현재 버튼을 트리거하는 유일한 경험은 touchUpInside이며 swipeLeftToRight 또는 swipteRightToLeft와 같은 것이 있는지 궁금해하고 있습니다.

감사합니다.

+0

아마도 제스처 인식기를 사용하고 싶을 것입니다. 'UIGestureRecognizer'를보세요. UIView에서'touchesBegan :'등을 사용할 수도 있습니다. –

+0

그저 내가 필요로하는 것처럼 보인다. 고마워! – jake9115

답변

2

하나의 가능성 (아래 참조) : (눈에 보이지 않는 될 수있는)보기로 인터페이스를 분할, 하나 개의 제스처 인식기를 보기 당. 제스쳐 인식기는 제스처가 뷰에서 만들어지면 응답합니다.

또 다른 가능성 : 전체 인터페이스는 하나의 제스처 인식기로 구성된 하나의 큰보기이며 터치를 분석하여 정확히 을 파악합니다. 여기에서 제스처가 발생했습니다.

+0

그리고 내 책이 도움이 될 수 있습니다. http://www.apeth.com/iOSBook/ch18.html#_gesture_recognizers – matt

+0

감사합니다. Matt, 나는 당신의 책을 부어 줄 것입니다. 명확히하기 위해 버튼이나 무언가를 GestureRecognizer로 정의하는 것은 불가능합니다. 대신 뷰를 사용하여 말한 것을해야합니까? – jake9115

+1

스 와이프를 감지하고 싶습니다. 버튼은 자연스럽게 탭을 감지하고자합니다. 그래서 당장은, 내가 너라면 단추를 꺼내 줄거야! – matt

1

UIGestureRecognizers를 살펴보십시오. 뷰에 첨부되어 주어진 선택자에게 메시지를 보냅니다. 스 와이프 제스처 인식기 ;-)에 사용되는 무엇

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html

+0

올바른 방향으로 나를 가리켜 주셔서 감사합니다. 사소한 실수는 용서해주십시오.하지만이를 뷰의 요소와 어떻게 연관시킬 수 있습니까? 먼저 버튼을 만든 다음 어떻게 든이 UIGestureRecognizers를 버튼에 부착합니까? 개체를 컨트롤 드래그하여 뷰에서 상호 작용 영역을 정의하는 데 익숙하며 UIGestureRecognizers를 사용하여이를 수행하는 방법을 모릅니다. – jake9115

+1

두 가지 옵션이 있습니다. Interface Builder를 사용하고 싶다면, IB의 객체 창으로 드래그 할 수있는 객체가 있습니다. 거기에서, 컨트롤을 조작하고 뷰와 연결하려는 뷰로 드래그하여 뷰와 연결할 수 있습니다. 코드 내에서 작업하는 경우 제스처 인식기를 적절한 init 메소드로 설정 한 다음 [self.theViewItShouldBeAddedTo addGestureRecognizer : theGestureRecognizerToAdd]를 사용하여보기에 추가하십시오. 세부 사항에 대해 불쌍히 생각해서 죄송합니다. 그러나 실제로는 문서에 모두 포함되어 있으며 상황이 바뀌지 않으므로 문제가되는 코드는 없습니다. – skladek

1

UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:viewController 
                        action:@selector(swipeLeftSelector:)]; 
    swipeLeft.direction = UISwipeGestureRecognizerDirectionLeft; 
+0

감사합니다. 이제 제스처 인식기를 화면의 특정 부분과 연결하는 방법을 알아야합니다. – jake9115

관련 문제