Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 3.04 KB

modalTransitionStyle.md

File metadata and controls

50 lines (35 loc) · 3.04 KB

modalTransitionStyle

  • 뷰 컨트롤러를 표시할 때 사용할 전환 스타일

  • present(_:animated:completion:) method 를 사용해서 뷰 컨트롤러가 표시될 때 화면에 애니메이션되는 방식을 결정

  • transition type을 변경하려면 뷰 컨트롤러를 표시하기 전에 이 속성을 설정해야 함

    func openRedViewController() {
      let redViewController = UIStoryboard(name: "Main", bundle: nil)
                              .instantiateViewController(identifier: "redViewController")
      redViewController.modalPresentationStyle = .fullScreen
      redViewController.modalTransitionStyle = .partialCurl
      self.present(redViewController, animated: true)
    }
  • 이 속성의 기본값은 coverVertical

UIModalTransitionStyle

뷰 컨트롤러를 표시할 때 사용할 수 있는 전환 스타일들은 아래와 같음

  • coverVertical

    • default transition style
    • 뷰 컨트롤러가 present 되면 뷰 컨트롤러가 화면 아래쪽에서 위로 올라오고, dismiss 되면 뷰가 다시 아래로 내려감.
  • flipHorizontal

    • 가로방향으로 가운데를 축으로 삼아 마치 카드가 뒤집하는 듯한 효과
    • 뷰 컨트롤러가 present 되면 현재 view가 오른쪽에서 왼쪽으로 수평 3D flip을 시작하여 새 view가 이전 view의 뒷면에 있던 것처럼 표시. dismiss 되면 flip은 왼쪽에서 오른쪽으로 진행되어 원래 view로 돌아감.
  • crossDissolve

    • 화면 교차되는 효과
    • 뷰 컨트롤러가 present 되면 현재 view가 fade out 되고, 새로운 view가 fade in 됨. dismiss 되면 유사한 cross-fade원래 view로 돌아감
  • partialCurl

    • 종이를 넘기는 듯한 효과
    • 뷰 컨트롤러가 present 되면 현재 view의 한쪽 모서리가 curl up 되면서 아래 있던 view가 나타남. dismiss 되면 curl up 되었던 페이지가 다시 view 위에 펼쳐짐.
    • 이 transition을 사용하여 표시되는 뷰 컨트롤러는 추가 뷰 컨트롤러를 표시할 수 없음. (A view controller presented using this transition is itself prevented from presenting any additional view controllers)
    • 이 transition style은 parent 뷰 컨트롤러가 full-screen 으로 표시되고 있고, 넘길때 modalPresentationStyle 도 fullScreen 으로 지정해야함. 그 외에는 exception 트리거 됨.

출처