iOS - UIKit

[iOS] UIImagePicker

clamp 2023. 4. 11. 16:27

UIImagePicker

// 버튼이 눌리면 이미지 피커가 떠오르도록
@objc func handleProfilePhotoSelect(){
        //이미지 피커 설정
        let picker = UIImagePickerController()
        picker.delegate = self
        picker.allowsEditing = true
        
        present(picker, animated: true, completion: nil)
    }

ImagePickerDelegate

extension RegistrationController: UIImagePickerControllerDelegate{
// 이미지피커 선택이 완료되면 전달되는 델리게이트
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        
        // 이미지를 받아와서 plusPhotoButton의 Image로
        guard let selectedImage = info[.editedImage] as? UIImage else { return }
        
        plusPhotoButton.layer.cornerRadius = plusPhotoButton.frame.width / 2
        // 정하여 sublayer의 모서리를 둥글게 만들 경우, masksToBounds가 true로 설정되어있지 않으면 sublayer의 둥근 부분이 경계를 벗어나서 잘리지 않고 그대로 보여지게 됩니다.
        plusPhotoButton.layer.masksToBounds = true
        plusPhotoButton.layer.borderColor = UIColor.white.cgColor
        plusPhotoButton.layer.borderWidth = 2
        plusPhotoButton.setImage(selectedImage.withRenderingMode(.alwaysOriginal), for: .normal)
        
        self.dismiss(animated: true, completion: nil)
    }