본문 바로가기
Developer/iOS, Swift

[Swift] 일반 View, ImageView, Label 액션 이벤트 생성하기

by Doony 2019. 11. 20.

스위프트로 코드를 짜다보면 저는 보통 버튼으로 클릭이벤트를 구현합니다. 자동으로 스토리보드에서 Action 기능을 제공해주기 때문에 코드 짜기가 한결 수월하기 때문인데요. 경우에 따라 일반 뷰나 이미지뷰, 레이블 등으로 버튼을 구현해야 할 때가 있습니다.

그럴 경우에 Action을 어떻게 표현하는지 알아보겠습니다.

 

 

 

  1. 스토리보드에서 원하는 뷰 객체(레이블, 이미지뷰 등)에 대한 Outlet을 만듭니다.

  2. 아래 코드처럼 탭제스쳐 리스너를 만듭니다. (didLoad등에 넣어주면 됩니다.)

    // viewMap: View 객체
    let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(viewMapTapped))
    viewMap.addGestureRecognizer(tapGestureRecognizer)

 

 

 

  1. 이렇게 하면, viewMap이라는 뷰를 클릭했을 때, viewMapTapped라는 함수가 실행되도록 할 수 있습니다.
@objc func viewMapTapped(sender: UITapGestureRecognizer) {
 // 원하는 대로 코드 구성        
}

댓글