Swifter {Swift Developer}

메뉴

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

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

개발환경

  • Xcode 8.1
  • Swift 3.0

터치 이벤트 모니터링

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

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

UIWindow를 변경하기

사용방법

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

Facebook Comments

카테고리:   Swift 3.0

댓글

죄송하지만 댓글은 닫혀 있습니다.