Ios 执行展开序列SWIFT5

Ios 执行展开序列SWIFT5,ios,swift,uinavigationbar,unwind-segue,Ios,Swift,Uinavigationbar,Unwind Segue,我有三个视图控制器。第一个是新闻列表,第二个是登录屏幕,第三个是关于阅读文章。 如果新闻不是免费的,我会将用户重定向到登录屏幕。如果用户成功登录,则我将显示所选新闻。但问题是,当用户点击“后退”按钮时,它会返回到登录屏幕,所以我使用“展开”序列来引导主屏幕。当我使用unwind segue时,它工作得很好,但一个问题是我的登录屏幕仍然显示约1秒。 那么,有没有一种方法可以隐藏viewcontroller或使其更快 我检测是否单击了导航栏后退按钮 override func viewWillD

我有三个视图控制器。第一个是新闻列表,第二个是登录屏幕,第三个是关于阅读文章。 如果新闻不是免费的,我会将用户重定向到登录屏幕。如果用户成功登录,则我将显示所选新闻。但问题是,当用户点击“后退”按钮时,它会返回到登录屏幕,所以我使用“展开”序列来引导主屏幕。当我使用unwind segue时,它工作得很好,但一个问题是我的登录屏幕仍然显示约1秒。 那么,有没有一种方法可以隐藏viewcontroller或使其更快

我检测是否单击了导航栏后退按钮

  override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    
    if self.isMovingFromParent {

       performSegue(withIdentifier: "toHomeScreen", sender: self)


        }
}

然后,我执行展开顺序。

尝试调用
navigationController?.popToRootViewController(动画:true)
而不是在选择back bar按钮时执行顺序。感谢您的评论。是的,它也可以工作,但在viewcontroller上仍然显示secon大约1秒,然后您可以尝试以下操作:成功登录后,您应该使用
navigationController?显示所选新闻。SetViewController([newsListController,articleController],动画:true)
。您可能有对这两个视图控制器的引用,所以只需使用此方法来显示它们。是的,它可以工作!!多谢各位