Swift

Swift - 내비게이션 화면 전환 시 애니메이션 지연 문제

iosos 2024. 10. 9. 19:58

문제 상황


  • NavigationController로 push할 때 animated를 true로 설정해놓으면 지연되는 문제
// animated : true
@objc func btnProfileManagementDidTap(){
        let managementVC = ProfileManagementViewController()
        navigationController?.pushViewController(managementVC, animated: true)
    }

 

 

 

  • animated를 false로 하면 문제 없음
// animated : false
@objc func btnProfileManagementDidTap(){
        let managementVC = ProfileManagementViewController()
        navigationController?.pushViewController(managementVC, animated: false)
    }

 

해결 과정


  • 화면 전환이 되는 뷰의 backgroundColor를 지정 (.white) → 매끄럽게 보임
    private lazy var profileManagementView : ProfileManagementView = {
        let view = ProfileManagementView()
        view.backgroundColor = .white
        return view
    }()

참고 자료


 

pushviewcontroller animation is slow/choppy

I push a ViewController which contains not too many views, UIScrollView which contains 10 views inside, I have a singleton ViewController and push it again and again without releasing and allocation

stackoverflow.com