2012-10-19 3 views
2

iPad 용 앱을 작성하는 방법을 배우기 시작했습니다. 나는 C, C++ 및 Java에 대한 경험이 있지만 일반적으로 Objective C ios를 처음 접했습니다.iPad 앱에 간단한 탭 인식 추가하기

나는 화면에 숫자 줄을 그리는 사용자 지정 UIView가 있으며이보기에서 메서드를 트리거하는 몇 가지 작업 단추가 있습니다.

내가 뭘하고 싶은 건 그려진 숫자 라인 UIView에서 메서드를 호출 만지고있다. 더 일반적으로, 백그라운드의 어떤 탭이라도 화면 좌표로이 메소드를 호출해야합니다. 그래서 그들이 올바른 장소와 행동을 터치했는지 결정할 수 있습니다.

저는 많은 시간 동안 정보를 찾고 있었으며 약간의 서클에 참가했습니다. 지금까지 볼 수 있듯이 UIView 대신 ViewController에 제스처 인식 코드를 추가하는 것이 일반적입니다 (Xcode는 자동으로 가능한 한 많은 작업을 수행하므로 이러한 각기 다른 부분에 대한 기본적인 이해 만 할뿐입니다).

문제는 프로그램의 모든 "두뇌"가 UIView에 있다는 것입니다 (숫자 화살표의 새로운 탭 위치로 이동시키고 싶습니다). 그러나 터치 이벤트에 응답하는 ViewController에 메서드가있는 경우 컨트롤러에서 UIView 메서드를 호출하는 방법을 알 수 없습니다.

가장 쉬운 방법은 터치 이벤트에서 호출 된 내 UIView 하위 클래스의 메소드입니다.

나는 지금까지 Xcode를 사용하여 단일보기 응용 프로그램을 설정하고 하나의 UIView 하위 클래스 (호출 된 FracLine)를 작성하여 숫자 선과 화살표를 그렸습니다.

감사합니다.

답변

0

UIResponder (UIView가 상속받는 문서)을 보면 touch와 관련된 하단 근처의 메소드가 표시됩니다. 이러한 메서드는 모두 UITouch 객체가 포함 된 NSSet을 제공합니다. UITouch에는 locationInView :라는 인스턴스 메소드가 있습니다.이 메소드는 터치 된 곳을 볼 수있는 CGPoint를 제공합니다.

+0

감사합니다. 정확하게 필요한 것입니다. 이제 잘 작동합니다. – user1760685