-
[iOS] UMC iOS ์ธ๋ฏธ๋ 8์ฃผ ์ฐจiOS/UMC 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() }) } }
'iOS > UMC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS] UMC iOS ์ธ๋ฏธ๋ 9์ฃผ ์ฐจ (0) 2022.11.21 [iOS] 7์ฃผ ์ฐจ ๋ฏธ์ (0) 2022.11.10 [iOS] UMC iOS ์ธ๋ฏธ๋ 7์ฃผ ์ฐจ (0) 2022.11.07 [iOS] 6์ฃผ ์ฐจ ๋ฏธ์ (0) 2022.11.05 [iOS] UMC iOS ์ธ๋ฏธ๋ 6์ฃผ ์ฐจ (0) 2022.10.31