contentMode:이미지의 표시 방식을 설정한다. (뷰 내에서 자동으로 어떻게 조정되는지에 대한 설정)
alpha: 이미지 뷰의 투명도를 설정한다.
등… 프로퍼티 및 메서드 추가로 공부해보기!
//
// UIImageViewTest.swift
// UIKit-Study
//
// Created by Kyungsoo Lee on 2023/09/30.
//
import UIKit
class UIImageViewTest: UIViewController {
//MARK: - UIImageView
private lazy var uiImageView: UIImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "INHA-UMC-5th")
imageView.contentMode = .scaleAspectFit
imageView.alpha = 0.5
imageView.translatesAutoresizingMaskIntoConstraints = false
return imageView
}()
// MARK: - viewDidLoad
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.view.backgroundColor = .systemGray
// 뷰 추가(아직 layout 설정 안된 상태)
self.view.addSubview(uiImageView)
setLayout()
}
// MARK: - UIImageView 제약 조건
private func setUIImageViewLayout() {
let uiImageViewConstraint = [
// 다른 컴포넌트의 상대적인 위치로 제약조건을 설정할 수도 있다.
uiImageView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
uiImageView.centerYAnchor.constraint(equalTo: view.centerYAnchor),
uiImageView.widthAnchor.constraint(equalToConstant: 200), // 너비 제약 조건 추가
uiImageView.heightAnchor.constraint(equalToConstant: 200) // 높이 제약 조건 추가
]
NSLayoutConstraint.activate(uiImageViewConstraint)
}
// MARK: - 전체 제약조건 설정
// 컴포넌트들의 레이아웃을 설정한다
private func setLayout() {
// 프레임 기반의 레이아웃을 비활성화 하여 오토 레이아웃을 기반으로 설정할 수 있도록 한다.
// UIImageView 제약조건 설정
setUIImageViewLayout()
}
}
// UIKit으로 짠 화면을 SwiftUI로 바로 볼 수 있게 해주는 코드
import SwiftUI
@available(iOS 13.0.0, *)
struct UIImageViewTestControllerPreview: PreviewProvider {
static var previews: some View {
UIImageViewTest().toPreview()
}
}