在我的应用程序中,我正在调用navigationController.popToRootController(),然后立即将几个控制器推入堆栈,但这会导致一个奇怪的UI错误。而不是从左侧出现,呈现的新控制器从下往上显示,而奇怪的是屏幕顶部的导航栏完全消失。无法导航回来,无法与任何导航项交互......刚刚走了。想知道它是否与弹出到根控制器有关,然后立即尝试推送可能导致这个奇怪的错误的新控制器。希望有人能够深入了解这一点。谢谢!
fileList是一个导航控制器
fileList.popToRootController()
fileList.clearList()
var isRoot = true
for file in (deepLinkFolder?.fileList)! {
// push file controller onto navigation controller (fileList)
}
答案 0 :(得分:1)
如果你想改变像这样的popControllers然后按下它最好重新设置这样的viewControllers
属性,那么毛刺可能是因为pop和push都有动画设置为true所以干扰发生了
self.navigationController?.viewControllers = []
或使用动画
self.navigationController?.setViewControllers([],animated:true)