티스토리 뷰

Mobile/iOS

Hero iOS 라이브러리

sironge 2023. 4. 4. 21:32
반응형

Hero는 iOS 애플리케이션에서 원활하고 대화식이며 사용자 지정 가능한 뷰 컨트롤러 전환을 생성하기 위한 강력하고 다양한 라이브러리입니다. UIKit의 애니메이션 프레임워크 위에 선언적 계층을 제공하여 최소한의 코드로 복잡한 애니메이션을 쉽게 만들 수 있습니다.

다음은 몇 가지 주요 Hero 기능에 대한 간단한 설명입니다.

1. 선언적 구문: Hero는 애니메이션 및 전환을 정의하기 위해 간단하고 표현적인 구문을 사용하여 코드를 더 읽기 쉽고 유지 관리하기 쉽게 만듭니다.

2. 대화형 전환: Hero는 대화형 전환을 지원하여 사용자가 스와이프 또는 핀치와 같은 제스처를 사용하여 animation progress를 제어할 수 있습니다.

3. 내장 효과: Hero에는 페이드, 크기 조정 및 슬라이드와 같은 몇 가지 내장 효과가 포함되어 있어 쉽게 결합하고 사용자 지정하여 고유한 애니메이션을 만들 수 있습니다.

4. 성능: Hero는 성능에 최적화되어 구형 장치에서도 부드럽고 반응이 빠른 애니메이션을 보장합니다.

다음은 Hero를 사용하여 두 뷰 컨트롤러 간에 사용자 지정 뷰 컨트롤러 전환을 만드는 간단한 예입니다.

1. Swift 파일 상단에서 Hero를 가져옵니다.

import Hero

2. ViewController에 대해 Hero를 활성화합니다.

class FirstViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        // Enable Hero transitions for this view controller
        self.hero.isEnabled = true
    }

    @IBAction func showSecondViewController() {
        let secondViewController = SecondViewController()
        secondViewController.hero.isEnabled = true
        present(secondViewController, animated: true, completion: nil)
    }
}

class SecondViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        self.hero.isEnabled = true
    }
}

이 예제에서는 FirstViewController와 SecondViewController라는 두 개의 보기 컨트롤러를 만듭니다. hero.isEnabled 속성을 true로 설정하여 두 보기 컨트롤러에 대해 Hero 전환을 활성화합니다.

3. Hero 전환 애니메이션을 정의합니다.

class FirstViewController: UIViewController {
    // ...

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if let destinationViewController = segue.destination as? SecondViewController {
            destinationViewController.hero.modalAnimationType = .selectBy(presenting: .zoom, dismissing: .zoomOut)
        }
    }
}

이 예제에서는 SecondViewController를 표시하고 해제하기 위한 사용자 지정 전환 애니메이션을 정의합니다. SecondViewController를 표시할 때 .zoom 애니메이션을 사용하고 해제할 때 .zoomOut 애니메이션을 사용합니다. 전환 애니메이션은 destinationViewController.hero.modalAnimationType 속성을 사용하여 설정됩니다.

4. 전환을 실행하려면 showSecondViewController 함수를 사용하여 SecondViewController를 표시합니다.

@IBAction func showSecondViewController() {
    let secondViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
    secondViewController.hero.isEnabled = true
    present(secondViewController, animated: true, completion: nil)
}

Swift Package Manager, CocoaPods 또는 Carthage를 사용하여 Hero 패키지를 설치하고 특정 설치 방법에 대한 설정 지침을 따르십시오.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함