[swift] Swift SimpleImageViewer 이미지 캡션 배경 설정
이번에는 Swift를 사용하여 간단한 이미지 뷰어를 만들고, 이미지 캡션의 배경을 설정하는 방법에 대해 알아보겠습니다.
이미지 뷰어 생성
우선, SimpleImageViewer
클래스를 생성하고, 해당 클래스에 이미지 뷰와 캡션 라벨을 추가합니다. 다음은 해당 클래스의 초기화 메서드입니다.
import UIKit
class SimpleImageViewer: UIView {
private let imageView: UIImageView = UIImageView()
private let captionLabel: UILabel = UILabel()
override init(frame: CGRect) {
super.init(frame: frame)
setupViews()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
private func setupViews() {
// 이미지 뷰 설정
imageView.contentMode = .scaleAspectFit
imageView.translatesAutoresizingMaskIntoConstraints = false
addSubview(imageView)
NSLayoutConstraint.activate([
imageView.topAnchor.constraint(equalTo: topAnchor),
imageView.leadingAnchor.constraint(equalTo: leadingAnchor),
imageView.trailingAnchor.constraint(equalTo: trailingAnchor),
imageView.heightAnchor.constraint(equalTo: heightAnchor, multiplier: 0.8)
])
// 캡션 라벨 설정
captionLabel.font = UIFont.boldSystemFont(ofSize: 16)
captionLabel.textAlignment = .center
captionLabel.translatesAutoresizingMaskIntoConstraints = false
addSubview(captionLabel)
NSLayoutConstraint.activate([
captionLabel.topAnchor.constraint(equalTo: imageView.bottomAnchor, constant: 10),
captionLabel.leadingAnchor.constraint(equalTo: leadingAnchor),
captionLabel.trailingAnchor.constraint(equalTo: trailingAnchor)
])
}
}
캡션 배경 설정
이제 SimpleImageViewer
클래스에 캡션 배경을 설정할 수 있는 메서드를 추가하겠습니다. 아래의 setCaptionBackground
메서드는 주어진 색상을 사용하여 캡션 라벨의 배경을 설정하는 역할을 합니다.
extension SimpleImageViewer {
func setCaptionBackground(color: UIColor) {
captionLabel.backgroundColor = color
}
}
사용 예시
위에서 작성한 SimpleImageViewer
클래스를 사용하여 이미지 뷰어를 만들고, 캡션 배경을 설정해보겠습니다.
let imageViewer = SimpleImageViewer(frame: CGRect(x: 0, y: 0, width: 300, height: 400))
imageViewer.imageView.image = UIImage(named: "example_image")
imageViewer.captionLabel.text = "Example Caption"
imageViewer.setCaptionBackground(color: UIColor.yellow)
위의 예시 코드에서 setCaptionBackground
메서드를 사용하여 캡션 배경을 노란색으로 설정하였습니다.
마무리
이제 Swift로 간단한 이미지 뷰어를 만들고, 이미지 캡션의 배경을 설정하는 방법에 대해 알아보았습니다. 이를 통해 더 다양한 기능을 추가하여 실제 앱에서 이미지 뷰어를 구현해볼 수 있습니다.
참고: