0

이 가이드 Implementing a Container View Controller을 따라 앱의 로그인/로그 아웃을 처리 할 컨테이너를 만들었습니다. 응용 프로그램의 나머지 부분에 대한 로그인에 대한 UINavigationController가, 그리고 UITabBarController가 :맞춤 컨테이너의 UINavigationBar 애니메이션 방지

아이들은 컨트롤러가 볼

:

diagram

내 문제는 UINavigationBar 이상하게 애니메이션, 나는 그 애니메이션을 방지 할 것입니다

transition

애니메이션 코드는 기본적으로이 (full project code here)이다

let current = childViewControllers.first 
    current?.willMoveToParentViewController(nil) 

    child.securityContainer = self 
    addChildViewController(child) 

     child.view.frame = newChildOriginFrame 

     UIView.transitionWithView(view, duration: 0.3, options: [], animations: { 

      child.view.frame = newChildTargetFrame 
      current?.view.frame = oldChildTargetFrame 

      self.view.addSubview(child.view) 

     }, completion: { _ in 

      child.didMoveToParentViewController(self) 
      current?.view.removeFromSuperview() 
      current?.removeFromParentViewController() 
      current?.securityContainer = nil 
     }) 

어떻게 UINavigationBar의 애니메이션을 방지 할 수 있습니까?

답변

0
addSubview

가 외부 애니메이션을 이동하여 고정 차단 :

let current = childViewControllers.first 
current?.willMoveToParentViewController(nil) 

child.securityContainer = self 
addChildViewController(child) 

    child.view.frame = newChildOriginFrame 

    view.addSubview(child.view) 

    UIView.transitionWithView(view, duration: 0.3, options: [], animations: { 

     child.view.frame = newChildTargetFrame 
     current?.view.frame = oldChildTargetFrame 

    }, completion: { _ in 

     child.didMoveToParentViewController(self) 
     current?.view.removeFromSuperview() 
     current?.removeFromParentViewController() 
     current?.securityContainer = nil 
    }) 

(full project source code)

관련 문제