Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] ContainerViewController, ContentsViewController 본문

iOS 응용 (swift)

[iOS - swift] ContainerViewController, ContentsViewController

jake-kim 2021. 1. 9. 13:17

ContainerViewController 란?

  • 하나 이상의 UIViewController를 childViewController로 가지는 UIViewController를 의미
  • ContainerViewController의 대표적인 예) - talBarController, navigationController

ContentsViewController 란?

  • 위 ContainerViewController의 자식들을 이미

ContainerVC가 ContentsVC를 추가하는 방법

// 추가
extension UIViewController {
    func add(_ child: UIViewController) {
        addChild(child)
        view.addSubview(child.view)
        child.didMove(toParent: self) // 추가된 후 호출
    }	
}

// 삭제
extension UIViewController {
    func remove() {
        guard parent != nil else {
            return
        }
        willMove(toParent: nil) // 삭제 되기 직전 호출
        removeFromParent() // addChild(child)와 반대
        view.removeFromSuperview() // view.addSubview(child.view)와 반대
    }
}

1. parentVC.addChild(childVC)

  • parent - child 관계 형성

 

2. parentVC.view.addSubView(childVC.view)

  • 추가된 childVC.view가 맨 앞으로 위치하여 보일 수 있도록 하는 것

3. childVC.didMove(toParent: parentVC)

  • childVC에 parentVC에 추가되거나, 삭제된 후 호출되는 메소드


화면전환의 디폴트 애니메이션

Comments