如何在延迟后从 parent 视图中隐藏 child 视图

How to hide child view from parent view after some delay

几秒后隐藏child视图 我为此设置了时间,但我无法在我的计时器功能中访问 child viewcontroller 我试过 dissmiss , removefromparent 没有用。 只有 self.view.isHidden = true 有效 我无法将其放入计时器

我的Parent观点

Child 查看:

按钮代码:

定时器代码:

Like_btn_Action()函数中,您:

  • 创建 LikeViewController
  • 的实例
  • 将其添加为子视图控制器
  • 将其视图添加到您的视图中
  • 设置该视图的背景颜色

然后函数退出。此时,您不再有对 LikeViewController 实例的引用... likeVC 已超出范围。

您需要使用 class-level var 来维护对加载的子视图控制器的引用,如下所示:

var likeVC: LikeViewController?
@IBAction func Like_btn_Action(_ sender: Any) {
    likeVC = self.storyboard?.instantiateViewController( etc ...)
}

然后,当你想删除你添加的视图时,你可以"get to it"通过:

likeVC.view.removeFromSuperview()

例如。