Swift에서 이미지 로드 및 표시하기
iOS 앱에서 이미지를 로드하고 화면에 표시하려면 가장 먼저 프로젝트에 사용할 이미지 파일이 필요합니다.
준비한 이미지를 Xcode 프로젝트로 드래그하여 가져온 뒤, Copy items if needed(필요한 경우 항목 복사) 옵션과 앱의 타겟(Target)을 반드시 선택해야 합니다. 이 과정을 통해 이미지가 앱 번들(Bundle)에 정상적으로 포함됩니다.

이제 실제 예제를 통해 나머지 과정을 살펴보겠습니다.
UIImageView 생성 및 이미지 할당
이미지를 화면에 표시하기 위해서는 UIImageView 객체를 생성하고, 해당 뷰의 image 속성에 원하는 이미지를 할당해야 합니다. 이 작업을 편리하게 수행할 수 있도록 함수를 하나 만들어 보겠습니다.
func addImage(imageName img: String) {
let imageView = UIImageView()
imageView.frame = self.view.frame
imageView.contentMode = .scaleAspectFit
if let newImage = UIImage(named: img) {
imageView.image = newImage
}
self.view.addSubview(imageView)
}위 코드의 주요 내용은 다음과 같습니다.
- frame 설정:
imageView.frame = self.view.frame을 통해 이미지 뷰가 부모 뷰 전체 크기를 차지하도록 합니다. - 콘텐츠 모드 지정:
.scaleAspectFit옵션은 이미지의 원본 비율을 유지한 채 뷰 안에 맞춰 표시합니다. - 안전한 이미지 로드:
UIImage(named:)이니셜라이저는 옵셔널을 반환하므로if let구문으로 안전하게 언래핑하여 사용합니다.
viewDidLoad에서 함수 호출하기
작성한 함수는 viewDidLoad() 메서드나 이미지를 표시해야 하는 다른 위치에서 호출할 수 있습니다.
override func viewDidLoad() {
super.viewDidLoad()
self.addImage(imageName: "1.png")
}위 코드를 실행하면 앱이 시작될 때 지정한 이미지가 화면 전체에 비율에 맞게 표시됩니다.
실행 결과
애플리케이션을 빌드하고 실행하면 아래와 같은 결과를 확인할 수 있습니다.

추가 팁
실무에서는 이미지를 코드로 직접 추가하는 것보다 스토리보드나 SwiftUI의 Image 뷰를 활용하는 경우도 많습니다. 또한 네트워크에서 이미지를 불러올 때는 URLSession이나 Kingfisher, SDWebImage 같은 외부 라이브러리를 사용하면 캐싱과 비동기 처리를 더욱 효율적으로 관리할 수 있습니다.