View

300x250

[iOS 앱 개발 - Swift] ImageView가 터치에 반응하게 만들기

부스트코스 iOS 앱개발 프로젝트 2번을 수행하면서 스토리보드 상에서 만들어준 ImageView가 버튼처럼 눌렀을 때 반응하도록 만드는 작업을 해줘야 했는데, 이 부분을 잘 모르겠더라구요. 인터넷을 떠돌며 정보를 찾아서 결국 아래 GIF 처럼 구현을 해냈습니다.

 

 

구글링을 쭉 해보니 모두 배웠던 부분들이고, 생각보다 간단한 문제였어요. ㅋㅋㅋㅋ 앞서 포스팅에서 공부했던 Gesture Recognizer - Target Action Design 등을 이용하였습니다.


먼저 스토리보드에서 만들어준 UIImageView를 @IBOutlet 으로 ViewController 스크립트로 가져와줍니다. 가져온 ImageView에 터치를 인식하는 내용을 추가할건데, 한 번만 연결해주면 되니까 viewDidLoad() 함수 안에서 작성해주었습니다.

 

@IBOutlet var imageView: UIImageView!

override func viewDidLoad() {
    super.viewDidLoad()

  let tapGesture = UITapGestureRecognizer(target: self, action: #selector(touchToPickPhoto()))
  imageView.addGestureRecognizer(tapGesture) 
  imageView.isUserInteractionEnable(true)
}

func touchToPickPhoto() {
  //code
}

UITapGestureRecognizer 의 init parameter로 타겟과 액션을 전달해주는데, 타겟은 이 스크립트 (self), 액션은 사진을 눌렀을 때 실행할 함수로 넣어줬어요. 이렇게 생성된 tapGesture를 imageView.addGestureRecognizer() 이미지뷰에 붙여줍니다. 그다음 .isUserIntercationEnable(true) 로 사용자의 액션과 반응하도록 만들어주면 끝!

 

저는 touchToPickPhoto() 함수에 ImagePicker가 올라오도록 설정해둬서 다음과 같은 결과를 얻을 수 있었습니다.

 

 


부스트코스 iOS 앱 개발 5개의 챕터 중에서 약 2-3주만에 2개의 챕터를 끝냈는데, 이렇게 글로 정리도 하고 공부하면서 Swift에 대한 감이 점점 잡히고 있어요. 처음에 아리송했던 내용들도 강의를 따라가면서 프로젝트를 직접만들며 공부를 하니 머릿속에서 자리를 잡아가는 기분이네요! ㅋㅋㅋ 개인적으로 부스트코스 강의가 정말 마음에 들어요. 뭔가 결과물을 계속 만들어내면서 공부를 하게되고, 좀 더 이쁘고 괜찮은 결과물을 만들어보려고 이것저것 강의 밖의 내용들도 더 찾아보면서 공부를 하니 실력도 늘어가는 기분이구요!

 

제가 지금 수강중인 edwith 의 부스트코스 iOS 프로그래밍 강좌는 네이버 아이디로도 이용할 수 있고, 코드리뷰를 제외한 모든 강좌와 강의자료가 무료로 개방되어 있으니 저처럼 iOS 앱개발을 공부하는 사람이라면 꼭 들어보는 걸 추천합니다!

https://www.edwith.org/boostcourse-ios/notices/12898

 

에듀케이션위드 : edwith

에드위드(edwith)는 네이버(NAVER)와 커넥트재단(CONNECT)이 제공하는 온라인 강좌(MOOC : Massive Online Open Course) 교육 플랫폼입니다. 에듀케이션위드(education with) 에드위드(edwith)로 분야별 명품 강좌를 무료(Free Course)로 수강하세요.

www.edwith.org

 

320x100
Share Link
reply
반응형
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31