Ios popToRootViewController未删除提示

Ios popToRootViewController未删除提示,ios,swift,uinavigationcontroller,popviewcontroller,Ios,Swift,Uinavigationcontroller,Popviewcontroller,我有一个应用程序,在执行任务之前提示用户输入各种信息。用户输入所有信息后,我将执行一个UIApplication.shared.openUrl(url:url),然后执行self.navigationController?.popToRootViewController(动画:true)。应用程序弹出回根视图控制器;但是,来自最后一个视图控制器的导航项提示现在包含在根视图控制器的导航项中 有人知道为什么会发生这种情况,以及一个很好的解决方法吗?当根视图控制器重新出现时,我可以将提示符设置为”,但

我有一个应用程序,在执行任务之前提示用户输入各种信息。用户输入所有信息后,我将执行一个
UIApplication.shared.openUrl(url:url)
,然后执行
self.navigationController?.popToRootViewController(动画:true)
。应用程序弹出回根视图控制器;但是,来自最后一个视图控制器的导航项提示现在包含在根视图控制器的导航项中

有人知道为什么会发生这种情况,以及一个很好的解决方法吗?当根视图控制器重新出现时,我可以将提示符设置为
,但我想解决问题,而不是缓解症状

更新

根据@Shad的回答,我已经用下面的代码更新了我的视图控制器,一切都正常工作

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)    
    self.navigationItem.prompt = nil
}

原因是您的提示已添加到窗口,并且可见,即使添加了提示的父视图控制器当前不可见。如果您共享一些代码,我们可以继续了解详细信息

但是,有一种方法可以在返回RootViewController之前取消提示。
您可以使用
-(void)viewwilldiscome:(BOOL)animated
来取消提示。只需在
-(void)视图上调用
removeFromSuperview()
即可从父视图控制器中删除提示视图,该视图将消失:(BOOL)已设置动画的
。假设您的提示是UIView

什么导航项目提示?用相关代码更新您的问题。我没有设置导航项目提示的代码。导航项提示在序列图像板文件中都是静态的。我试图重新生成您得到的内容,但没有任何问题。在视图中,viewcontroller将消失。请删除提示。这就解决了我的问题。但是,我认为它在另一个视图控制器进入堆栈(例如模态)的情况下不起作用。这将导致返回到最后一个视图控制器时提示为空。我仍然很好奇为什么会发生这种情况……除了您在ViewWillEnglishe中建议的提示之外,我没有设置提示的代码。提示消息都在脚本文件中设置。