Computer Science
탄탄한 기반 실력을 위한
전공과 이론 지식 모음
Today I Learned!
배웠으면 기록을 해야지
TIL 사진
Flutter 사진
Flutter로 모바일까지
거꾸로캠퍼스 코딩랩 Flutter 앱개발 강사
스파르타코딩클럽 즉문즉답 튜터
카카오테크캠퍼스 3기 학습코치
프로필 사진
박성민
임베디드 세계에
발을 들인 박치기 공룡
임베디드 사진
EMBEDDED SYSTEM
임베디드 SW와 HW, 이론부터 실전까지
ALGORITHM
알고리즘 해결 전략 기록
🎓
중앙대학교 소프트웨어학부
텔레칩스 차량용 임베디드 스쿨 3기
애플 개발자 아카데미 1기
깃허브 사진
GitHub
프로젝트 모아보기
Instagram
인스타그램 사진

Develop/iOS 개발

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

sm_amoled 2019. 8. 14. 15:04

[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