iOS 응용 (swift)
[iOS - swift] animationImages 개념 (#startAnimating(), animationDuration, animationRepeatCount)
jake-kim
2024. 2. 27. 01:16
animationImages 개념
- UIImageView가 가지고 있는 UIImage 배열 값

- animationImages은 UIImageView의 프로퍼티
@available(iOS 2.0, *)
open class UIImageView : UIView {
public init(image: UIImage?)
...
open var animationImages: [UIImage]? // default is nil
}
- 이 값을 사용하여 여러가지의 이미지들을 animationDuration동안 aimationRepeatCount만큼 반복해서 보여주기가 가능
- duration, count 옵션을 설정한 후 startAnimating()하여 이미지들을 표출
ex) animationImages에 circle이미지와 circle.fill 이미지를 두어서 반짝이는 효과 넣기
class ViewController: UIViewController {
private let imageView = {
let view = UIImageView()
let images = [UIImage(systemName: "circle")!, UIImage(systemName: "circle.fill")!]
view.animationImages = images
view.animationDuration = 1
view.animationRepeatCount = 0 // 0이면 무한 반복
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(imageView)
NSLayoutConstraint.activate([
imageView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
imageView.centerYAnchor.constraint(equalTo: view.centerYAnchor),
])
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
imageView.startAnimating()
}
}

cf) 이 animationImages를 활용하면 gif 포멧의 이미지 데이터도 재생시키기가 가능 (구체적인 내용은 다음 포스팅 글 참고)
* 참고
- https://developer.apple.com/documentation/uikit/uiimageview/1621068-animationimages