iOS/UMC
[iOS] UMC iOS μΈλ―Έλ 8μ£Ό μ°¨
year.number
2022. 11. 14. 22:02
π Animation
μ λλ©μ΄μ μ λνμ μΌλ‘ 3κ°μ§ κ²½μ°μ μ¬μ©νλ€.
1. μμ€ν μν λνλ΄κΈ°
2. λ©λ΄ λ° μ νμ λνλ΄κΈ°
3. μκ°μ μΈ νΌλλ°± μ 곡
μ λλ©μ΄μ μ λνλ΄λ λ°©λ²μλ 2κ°μ§κ° μλ€.
1. UIViewμ animate μ¬μ© (iOS 4~)
2. Core Animation μ¬μ© (iOS 10~)
UIView.animate λ©μλλ₯Ό μ΄μ©ν΄μ μ λλ©μ΄μ μ ꡬνν΄λ³΄λ μ€μ΅
//
// ViewController.swift
// Week8
//
// Created by yeonsu on 2022/11/14.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var orangeView: UIView!
@IBOutlet weak var orangeViewTopConstraint: NSLayoutConstraint!
@IBOutlet weak var orangeViewHeightConstraint: NSLayoutConstraint!
@IBOutlet var purpleViewTapGestureRecognizer: UITapGestureRecognizer!
override func viewDidLoad() {
super.viewDidLoad()
// #selector: object-cμ ν¨μ μ¬μ©
purpleViewTapGestureRecognizer.addTarget(self, action: #selector(purpleViewDidTap))
}
@objc func purpleViewDidTap() {
// TODO: - μ λλ©μ΄μ
μΆκ°
UIView.animate(withDuration: 3, animations: {
self.orangeViewTopConstraint.constant = 200
self.orangeViewHeightConstraint.constant = 100
self.view.layoutIfNeeded()
}
)
}
// π UIView.animate: μ λλ©μ΄μ
μ μ©νκΈ°
@IBAction func buttonDidTap(_ sender: Any) {
UIView.animate(withDuration: 3, animations: {
self.orangeViewTopConstraint.constant = 200
self.orangeViewHeightConstraint.constant = 300
self.view.layoutIfNeeded() // λ³κ²½μ¬νμ λν μ
λ°μ΄νΈ λ°μ
// self.view.setNeedsLayout()
})
}
}
