공유 화이트보드를 구현하면서, 저희는 많은 터치 이벤트를 처리해야 했습니다. 이 과정에서 제스쳐 인식기부터 좌표변환, transform 등 많은 개념을 학습하고 적용했는데요, 그 과정을 아래에서 소개합니다.


들어가기 앞서, hitTest에 대해 알아봅시다!

Airplain에는 많은 뷰들이 겹쳐서 올라가기 때문에, 일부 View에서 hitTest를 오버라이딩하고 있습니다. hitTest란 뭘까요?

음 일단 알겠습니다.. UIGestureRecognizer를 뜯어봅시다.

화이트보드를 편집할 수 있다는 기능이 있는 만큼, AirplaIN은 많은 제스처 인식기를 사용하고 있습니다. 제스쳐 인식기란 뭘까요?

<aside>

A gesture recognizer decouples the logic for recognizing a sequence of touches (or other input) and acting on that recognition. When one of these objects recognizes a common gesture or, in some cases, a change in the gesture, it sends an action message to each designated target object.

</aside>

쉽게 설명하면, 사용자의 입력과 이후 행할 동작(action)을 분리해주는 객체이다. 제스쳐를 인식하면, 미리 지정한 대상에게 동작(action)을 실행하라고 알려주는 객체가 Gesture Recognizer 입니다. 제스쳐 인식기는 아래와 같은 특징이 있습니다.