繁体   English   中英

使用标签栏控制器离开视图时如何关闭视图

[英]How to dismiss a view when leaving it with tab bar controller

我使用标签栏控制器从VC1切换到VC2。 这样做,VC1保留在内存中。 我使用VC2管理数据,当我回到VC1(使用标签栏控制器)时,我使用viewWillAppear一个函数重新加载了VC1,它可以正常工作,但是在重新加载动画时仍可以看到VC1的先前版本。

在动画或重新加载过程开始之前,我必须从内存中退出VC1。
我已经在VC1的viewWillAppearviewDidDisappear中尝试了这些命令,但viewDidDisappear成功。

self.dismiss(animated: true, completion: nil)
self.presentedViewController?.dismiss(animated: true, completion: nil)

我的猜测是,最好的方法是在转移到VC2时关闭VC1,但尚未找到解决方法。

谢谢你的帮助。

我的建议是,使用NotificationCenter在VC1中添加观察者,并在发生某些事件时从VC2中触发。

添加观察者。

NotificationCenter.default.addObserver(forName: Notification.Name(rawValue: "updateVC1"),
                                       object:nil, queue:nil) {
                                        notification in

                                        // do something
}

从VC2触发观察者

NotificationCenter.default.post(name: Notification.Name(rawValue: "updateVC1"), object: nil)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM