IOS(iPhone)

ios swift3 UIImageView 에 Click Event 클릭이벤트 추가하기!

알통몬_ 2017. 11. 17. 10:48
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 


이번 포스팅에서는 제목대로 UIImageView 에 클릭 이벤트를 추가하는 방법에 대해

알아보겠습니다.

ios 개발 시 버튼종류가 아닌 View  종류에는 IBAction을 추가할 수가 없는데요.

안드로이드에서는 그냥 모두 setOnClickListener를 추가할 수 있어서 편했는데

ios에서는 다른 방법을 사용해서 추가해주어야 합니다.


조금은 귀찮네요 ㅎㅎ


방법은 간단합니다.




먼저 UIImageView 를 IBOutlet 으로 .swift 파일에서 컨트롤 할 수 있도록 추가해줍니다.

@IBOutlet weak var commuteImgView: UIImageView!

그리고 함수를 이미지를 클릭했을 때 호출할 함수를 하나 선언해줍니다.

1
2
3
    func commuteMethod() {
        print("tapped")
    }
cs


이제 이미지에 함수호출을 할 수 있도록 제스처를 추가해주면 되는데요.

구글에 검색을 해보면 아래처럼 만들면 된다고 나오는데요.

1
2
3
4
commuteImgView.isUserInteractionEnabled = true
let event = UITapGestureRecognizer(target: self, action: "commuteMethod")
commuteImgView.addGestureRecognizer(event)
 
cs

됩니다.

되는데, 노란 삼각형 에러가 뜨면서 Deprecated 되었다는 경고가 나오죠 ㅎㅎ




그리고 노란색 삼각형 에러를 클릭하면 친절하게도, 변경할 수 있는 선택지를 

정확히 1개를 줍니다. 걔를 선택하면 코드가 아래처럼되는데요.

그럼 에러도 안나고 클릭이벤트도 잘 동작합니다^^

1
2
3
commuteImgView.isUserInteractionEnabled = true
let event = UITapGestureRecognizer(target: self,
 action: #selector(CommuteViewController.commuteMethod))
commuteImgView.addGestureRecognizer(event)
cs


위에서 CommuteViewController 는 해당 .swift 파일의 이름입니다

뒤에 commuteMethod는 선언해준 함수구요 ^^


별로 어려울 거 없죠??


이상입니다.

감사합니다~



반응형