UIImage와 UIImageView는 둘 다 UIKit에서 이미지를 다루는 클래스이지만, 각각 역할이 다릅니다:
- UIImage:
- 이미지 데이터 자체를 저장하는 객체입니다.
- 보통 파일이나 URL 등에서 이미지를 로드할 때 사용합니다.
- 이미지를 표시하거나 저장, 편집하는 등 다양한 용도로 사용할 수 있지만, 화면에 직접적으로 표시하는 기능은 없습니다.
- 예: UIImage(named: "imageName")는 해당 파일 이름을 가진 이미지를 로드해서 UIImage 객체로 반환합니다.
- UIImageView:
- UIView를 상속받은 클래스로, 이미지를 화면에 표시하는 데 사용됩니다.
- UIImageView는 UIImage를 포함할 수 있으며, 이를 통해 이미지가 화면에 렌더링됩니다.
- 다양한 속성을 이용해 이미지의 표시 방식(예: 콘텐츠 모드, 크기 조정, 애니메이션 등)을 조정할 수 있습니다.
- 예: UIImageView(image: myImage)는 UIImage 객체인 myImage를 화면에 표시하는 이미지 뷰를 생성합니다.
정리하자면, UIImage는 단순히 이미지를 데이터로서 다루는 객체이고, UIImageView는 이를 화면에 표시하기 위한 뷰 객체입니다. 이미지를 화면에 띄우기 위해서는 UIImageView에 UIImage를 설정해 주어야 합니다.
🔥 예를 들어, 어떤 이미지 파일을 앱에 추가하고 이 이미지를 화면에 표시한다고 가정해 보겠습니다.
1. UIImage를 이용해 이미지 데이터를 로드
// 이미지 파일을 로드하여 UIImage로 저장
let image = UIImage(named: "exampleImage")
여기서 UIImage(named:) 메서드를 사용하여 exampleImage라는 이름의 이미지 파일을 로드하고, image라는 변수에 UIImage 객체로 저장합니다. 이 단계에서는 이미지가 데이터로 로드만 된 상태이지 화면에는 나타나지 않습니다.
2. UIImageView를 이용해 이미지를 화면에 표시
UIImageView는 이미지를 화면에 표시하는 데 사용됩니다. 위에서 만든 UIImage 객체를 UIImageView에 설정해 볼게요.
// UIImageView를 생성하고 이미지 설정
let imageView = UIImageView(image: image)
// 이미지 뷰의 위치와 크기 설정
imageView.frame = CGRect(x: 50, y: 50, width: 200, height: 200)
// 뷰에 추가하여 화면에 표시
view.addSubview(imageView)
이렇게 하면 UIImageView가 UIImage 객체를 이용해 이미지를 화면에 표시하게 됩니다. imageView가 view의 서브뷰로 추가되어 실제 화면에 표시되며, 사용자가 볼 수 있습니다.
3. 이미지 표시의 설정 변경 (UIImageView)
UIImageView는 다양한 속성으로 이미지 표시 방식을 조절할 수 있습니다. 예를 들어, 이미지의 크기를 자동으로 맞추는 contentMode를 설정할 수 있습니다.
// 이미지 뷰의 contentMode 설정
imageView.contentMode = .scaleAspectFit // 이미지 비율 유지하면서 뷰에 맞춤
이 설정을 통해, 이미지를 뷰의 크기에 맞추어 조절할 수도 있고, 이미지가 중앙에 오도록 할 수도 있습니다.
'iOS > UIKIT' 카테고리의 다른 글
FileManager 사용하는 기본 방법 (이미지를 경로로 저장하여 코어 데이터에 가져다 사용하기) (0) | 2024.11.13 |
---|---|
iOS 앱에서 네트워크 통신을 하는 방법에는 어떤 것들이 있나요? (5) | 2024.11.11 |
갤러리에서 선택한 내용을 컬렉션 뷰에 보이는 방법 (0) | 2024.11.08 |
테이블뷰의 셀을 누르면 Sheet가 올라오게 하는 방법 (feat. UISheetPresentationController) (4) | 2024.11.07 |
날짜 선택하기 (0) | 2024.11.06 |