[iOS] UIView Touchevent 만들기

PM077·2023년 1월 8일
0

iOS

목록 보기
11/21

UIView는 UIButton과 같이 addTarget을 하여서 클릭을 자체적으로 감지를 할 수 없다. 그렇기에 TapGesture를 활용해서 뷰가 클릭된 것을 감지해야한다.

과정

  • 눌려질 View 생성
  • 클릭 시 취할 행동을 저장하는 곳 생성
  • tapgesture 생성

코드

눌려질 VIEW생성

    let emptyView = UIView().then{
        $0.backgroundColor = UIColor.white
    }
  • 간략하게 emptyView를 만들고 배경을 흰색으로 지정 한 것이다.

클릭 시 취할 행동을 저장하는 곳 생성

    @objc func didClickCategory(sender: UITapGestureRecognizer) {
        print("didClickCategory")
    }
  • View를 클릭하면 "didClickCategory"를 출력하게끔 만들었다.

tapgesture 생성

let tapGestureCategory = UITapGestureRecognizer(target: self, action: #selector(didClickCategory(sender:)))
emptyView.addGestureRecognizer(tapGestureCategory)
  • tapGestureCategory에 didClickCategory를 실행 시키는 Recognizer를 넣어둔다
  • emptyView에 gesture를 추가해준다

이렇게 되면
1. 유저가 emptyView 클릭
2. 클릭 gesture에 반응해서 tapGestureCategory를 실행시킴
3. 이는 didClickCategory를 실행시키게 코딩 되어있음
4. didClickCategory는 "didClickCategory"를 print하게끔 코딩되어있음
5. didClickCategory 출력

profile
PM/PO

0개의 댓글