clyne의 개발 기록

[RxGesture] UIView에 클릭이벤트를 넣는 세가지 방법 본문

iOS/RxSwift

[RxGesture] UIView에 클릭이벤트를 넣는 세가지 방법

clyne_dev 2021. 4. 22. 17:37

안녕하세요.

iOS개발자 CNOO입니다.

 

오늘은!!!!

UIButton이 아닌, UIView에 클릭 이벤트를 추가하는 방법에 대해서 알아보고자 합니다!

UIView를 상속받는 모든 View에 해당하는 방법이니까, 잘 보고 편하신 방법으로 구현하시면 되겠습니다.

 

(사실 이 포스팅의 핵심은  RxGesture......예요.. 이거 엄청 좋습니다. RxSwift 와 ㄹㅇ찰떡궁합.)

 

 

 

샘플 화면

먼저 간단히 어떤 화면을 구현했는지 보겠습니다.

저는 간단히 파란 네모와  빨간 네모를 만들어서 클릭하는 이벤트를 적용해보았습니다.

클릭하면 아래와 같이 로그가 찍히는 예제입니다.

 

 

세가지 방법에 대한 설명을 모두 쭉 하고, 맨 아래쪽에 코르를 보여드리도록 하겠습니다.

방법1. Add UITapGestureRecognizer

iOS 개발자분들이라면 모두 아실만한 방법입니다. 

UITapGestureRecognizer를 생성해서, selector 설정해서 UIView에 add하는 방법입니다.

제일 많이 쓰고, 많이 나오는 방법이므로 자세한 내용은 생략하도록 하겠습니다.

 

 

방법2. Add UITapGestureRecognizer + event observing (RxSwift)

이 방법은 제가 RxSwift를 공부하면서 쓰게된 방법입니다.

GestureRecognizer에 각각 binding하는 방뻡인데, 저는 이것도 쫌 코드 길어지고 불편하더라구요 ㅠㅠㅠ 

그래서!!!!

바로 아래에 있는 RxGestrue를 발견하게 되었습니다!!

방법3. RxGesture

RxGesture 깃허브  (github.com/RxSwiftCommunity/RxGesture)


이 포스팅의 목적인 RxGesture입니다

위에 적어놓은 RxGesture 깃허브에 방문하시면 더욱 자세한 내용들이 있으니 참고하시면 되겠습니다.

 

그럼 제가 작성한 3개의 예제코드를 보겠습니다~

 

 

 

3가지 예제 코드

 

어떠신가요?

RxGesture만 애용할것 같은 간결함이죠? ㅎㅎㅎㅎ

 

그럼 다음 시간에 또 만나요~ 안녕~~