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

2016-11-07
33 Views

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

개발환경

  • Xcode 8.1
  • Swift 3.0

터치 이벤트 모니터링

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

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

UIWindow를 변경하기

사용방법

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

Facebook Comments

You may be interested

Gif 애니메이션으로 로딩 구현하기
Swift 3.0
shares5 views
Swift 3.0
shares5 views

Gif 애니메이션으로 로딩 구현하기

MJ Kim - 5월 24, 2017

이번에는 MBProgressHUD 라이브러리와 FLAAnimatedImage 라이브러리를 사용하여 gif 애니메이션을 사용하는 방법을 정리해본다. Cocoapods를 사용하여 라이브러리를 추가해도 되고 Carthage를 사용해서 추가해도 된다.…

Bluetooth기반 iOS기기로 통신하기
Swift 3.0
shares4 views
Swift 3.0
shares4 views

Bluetooth기반 iOS기기로 통신하기

MJ Kim - 5월 23, 2017

제 블로그에 관심이 있는 분이 블루투스를 사용한 방법을 알려달라고 하셔서 좀더 이해하기 쉬운 방법을 고민해서 한가지 팁을 공유합니다. 블루투스(Bluetooth)로 1대1로…

Apple지도 및 구글지도 앱을 여는 방법
Swift 3.0
shares6 views
Swift 3.0
shares6 views

Apple지도 및 구글지도 앱을 여는 방법

MJ Kim - 5월 16, 2017

지도 중심에 핀을 넣기 특정 지점에서 특정지점 루트를 표시하기  Apple 지도 앱 지도 중심에 핀세워서 위치 표시 [crayon-592540646907c859424622/] 경로 표시…