Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- CSS
- javascript
- UIPickerView
- RxJava
- IOS
- SWIFT
- HTML
- DispatchTouchEvent
- MemoList
- CalendarView
- viewpager2
- RecyclerView
- Android
- 스터디
- Kotlin
- web
- dispatchQueue
- retrofit2
- aab
- progressbar
- 개발
- InAppPurchase
- MotionEvent
- 실행지연
- Dropdown
- ViewModel
- imagepicker
- Alamofire
- SplashFragment
- ayncAfter
Archives
- Today
- Total
멜팅비의 개발 공부
[iOS/swift] UIImagePickerController를 활용해서 사진첩 사진 가져오기 본문
반응형
프로필 사진을 설정하는 등 사진첩에서 사진을 가져오는 기능을 구현해야 할 때 UIImagePickerController를 활용하면 된다.
let imagePicker = UIImagePickerController()
override func viewDidLoad() {
super.viewDidLoad()
imagePicker.delegate = self
btnPicker.addTarget(self, action: #selector(btnPickerDidTap(:)), for: .touchUpInside)
}
@objc func btnPickerDidTap(_ sender: UIButton) {
self.imagePicker.sourceType = .photoLibrary
self.present(imagePicker, animated: true, completion: nil)
}
extension MyProfileViewController: UIImagePickerControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let image = info[UIImagePickerController.InfoKey.originalImage] {
ivProfile.image = image as! UIImage
// UIImage를 원형으로 크롭하는 코드
ivProfile.layer.cornerRadius = ivProfile.frame.height / 2
ivProfile.layer.borderWidth = 1
ivProfile.layer.borderColor = UIColor.clear.cgColor
ivProfile.clipsToBounds = true
}
dismiss(animated: true , completion: nil)
}
}
extension MyProfileViewController: UINavigationControllerDelegate {
}
extension을 통해 UIImagePickerControllerDelegate와 UINavigationControllerDelegate를 채택한다.
UINavigationControllerDelegate를 꼭 함께 채택해야지 오류가 발생하지 않는다.
버튼을 눌렀을 때 present를 해서 사진첩이 열리고 사진을 선택하는 순간 Delegate의 imagePickerController 메소드가 호출된다.
여기서 이미지 정보를 UIImage 가져와 이미지뷰의 이미지를 바꿔준다.
프로필 사진처럼 원형 모양으로 이미지를 자르고 싶으면 주석 아래있는 코드를 작성하면 된다.
반응형
'개발 공부 > [iOS 개발]' 카테고리의 다른 글
[iOS/Swift] DropDown 라이브러리 사용하기 (2) | 2022.01.10 |
---|---|
[iOS/Swift] UIButton에 이미지와 텍스트 vertical align (1) | 2021.11.17 |
[iOS/swift] JsonString을 Object 배열로 변환하기 (0) | 2021.06.21 |
[iOS-Swift] UIView의 원하는 곳에만 round를 주고싶을 때! (0) | 2021.05.28 |
[iOS-Swift] UIImage 색상 코드에서 변경하기 (0) | 2021.05.28 |
Comments