화면 순간 터치가 되었는지 확인하기

2016-11-07
21 Views

가끔 화면상에서 사용자가 터치하지 않는 순간을 체크하고 싶어  만들어본 방법이다.

개발환경

  • Xcode 8.1
  • Swift 3.0

터치 이벤트 모니터링

UIWindow 하위클래스를 만들어 이벤트를 모니터링할 수 있다. 그 중에서 터치 이벤트만 받아서 업데이트한다.

참고로 UITouch의 phase속성에서 UIScrollView인지, 제스쳐인지 체크하다보면 phase가 .ended로 바뀌는 현상이 있다. 이를 위해 sendEvent마지막에 phase로 처리하는 꼼수를 해놓았다.

UIWindow를 변경하기

사용방법

타이머에서 정기적으로 사용자정의창에 allTouches.isEmpty로 체크하는 형태를 보여준다.

Facebook Comments

You may be interested

모바일 앱 아키텍처
Swift
shares9 views
Swift
shares9 views

모바일 앱 아키텍처

MJ Kim - 4월 22, 2017

이 내용은 나름대로 개발해본 내용을 토대로 정리해본 모바일 앱 아키텍처에 대한 내용이다. 이를 정리한 이유는 오래된 아키텍처부터 최근 아키텍처까지 정리해보고…

시간차를 얻는 Date Extension
Swift 3.0
shares6 views
Swift 3.0
shares6 views

시간차를 얻는 Date Extension

MJ Kim - 4월 12, 2017

사용자가 남길 내용에 대한 시간표시를 할 때 일정한 시간차를 표현해주는 경우가 있어 이에 대한 Date Extention을 정리해 보았다. [crayon-58fb5a7111ef6826202077/]  

Swift 3.1에서 없어진 문법 정리
Swift 3.0
shares34 views
Swift 3.0
shares34 views

Swift 3.1에서 없어진 문법 정리

MJ Kim - 3월 31, 2017

Swift언어는 무엇인가 나올때마다 없어지는 것들이 있어, Swift 3.1에서 컴파일할 수 없게 된 문법내용을 정리했다. switch문을 사용하여 enum에서 protocol을 여러가지 패턴으로…