如何在延迟一段时间后隐藏父视图中的子视图

时间:2018-04-09 15:26:06

标签: ios swift timer parentviewcontroller

几秒后隐藏子视图 我为此设置了时间,但我无法在我的计时器功能中访问子视图控制器 我尝试过dissmiss,removefromparent关于没有工作。 只有self.view.isHidden = true有效 我无法将它放在计时器

我的父母观点

enter image description here

子视图:

enter image description here

按钮代码: enter image description here

计时器代码:enter image description here

1 个答案:

答案 0 :(得分:1)

Like_btn_Action()函数中,您:

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

然后退出该功能。此时,您不再引用LikeViewController的实例... likeVC已超出范围。

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

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

然后,当你想要删除你添加的视图时,你可以"到达它"通过:

likeVC.view.removeFromSuperview()

例如。