Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] animationImages 개념 (#startAnimating(), animationDuration, animationRepeatCount) 본문

iOS 응용 (swift)

[iOS - swift] animationImages 개념 (#startAnimating(), animationDuration, animationRepeatCount)

jake-kim 2024. 2. 27. 01:16

animationImages 개념

  • UIImageView가 가지고 있는 UIImage 배열 값

https://developer.apple.com/documentation/uikit/uiimageview/1621068-animationimages

  • 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

Comments