释放出现视图控制器后,解雇的视图控制器



我正在处理一些我没有编写的旧代码,但实际上不是很好的架构...

情况是,视图控制器会形态地呈现自定义视图控制器,但是每30秒重新创建了一次呈现视图控制器。

这里的问题是,如果发生这种情况时模态在屏幕上,那么任何努力都会删除它会导致奇怪的行为(例如白屏)。

我尝试在新重新创建的控制器上调用[self.presentedViewController dismissViewControllerAnimated];,但是presentedViewController是您所期望的。

我还尝试了对模态视图控制器的弱参考,然后在重新加载呈现的VC时,将此值设置为旧VC的值。这使我能够致电self.customModalVC dismissViewControllerAnimated];,但这引起了上述白屏,也许是因为它不再在堆栈中呈现VC?

所有建议都赞赏。

尝试将导航控制器传递到新呈现的ViewController:

    presentedVC.navigation = self.navigationController

将其添加到新创建的

新创建
    self.dismiss(animated: false) { 
                _ = self.navigation?.popViewController(animated: true)
            }

最新更新