Swift3에서 사용자 정의 클래스를 사용하여 화면 전환

설명



화면 천이를 위한 커스텀 클래스를 만들어 보았습니다. 인수에 자신의 스토리 보드의 이름을 넣으면 쉽게 presentviewController로 화면 전환이 가능합니다! New > File > Swift File 를 선택하여 커스텀 클래스를 구현하고 사용합니다.

주의



덧붙여서, 이 클래스에서는, 같은 Main Storyboard 안에 있는 View에는 날 수 없습니다. 어디까지나 다른 Storyboard 에 있는 ViewController 밖에 날 수 없습니다. (불편하지 않겠습니다) 같은 Storyboard 안에 있는 ViewController 에 날기 위한 수업은 또한 여가를 찾아 만들려고 했습니다.

사용법




//右に遷移
CustomScreenTransition().Right(StoryboardName: "YourStoryboardName")

//左に遷移
CustomScreenTransition().Left(StoryboardName: "YourStoryboardName")

구현


import UIKit

public class CustomScreenTransition: UIViewController {

    public func Right(StoryboardName: String) {

        let storyboard: UIStoryboard = UIStoryboard(name: (StoryboardName), bundle: nil)
        let nextView = storyboard.instantiateInitialViewController()

        let transition = CATransition()
        transition.duration = 0.5
        transition.type = kCATransitionPush

        transition.subtype = kCATransitionFromRight
        let appDelegate = UIApplication.shared.delegate as? AppDelegate
        appDelegate?.window?.layer.add(transition, forKey: kCATransition)
        appDelegate?.window?.rootViewController = nextView!


    }

    public func Left(StoryboardName: String) {

        let storyboard: UIStoryboard = UIStoryboard(name: StoryboardName, bundle: nil)
        let nextView = storyboard.instantiateInitialViewController()

        let transition = CATransition()
        transition.duration = 0.5
        transition.type = kCATransitionPush

        transition.subtype = kCATransitionFromLeft
        let appDelegate = UIApplication.shared.delegate as? AppDelegate
        appDelegate?.window?.layer.add(transition, forKey: kCATransition)
        appDelegate?.window?.rootViewController = nextView!

    }

}

참고



Swift - Accessing AppDelegate window from viewController

화면 전환을위한 함수를 다른 클래스에서 호출하고 싶습니다.

Swift3에서 사용자 정의 클래스를 사용한 화면 전환

좋은 웹페이지 즐겨찾기