在subview removeFromSuperview(Ios Swift)之后执行操作

时间:2016-08-04 07:36:06

标签: ios iphone arrays ipad swift2

使用控制器A中的这段代码打开子视图。

let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("test") as! DatepickerpopupViewController
    self.addChildViewController(popOverVC)
    popOverVC.view.frame = self.view.frame
    self.view.addSubview(popOverVC.view)
    popOverVC.didMoveToParentViewController(self)

使用控制器B中的此代码关闭Subview

UIView.animateWithDuration(0.25, animations: {
        self.view.transform = CGAffineTransformMakeScale(1.3, 1.3)
        self.view.alpha = 0.0;
        }, completion:{(finished : Bool)  in
            if (finished)
            {

                self.view.removeFromSuperview()


            }
    });

现在我想在Subview关闭后在父视图(控制器A)中做些什么。

1 个答案:

答案 0 :(得分:1)

两个视图控制器弄乱相同的视图是糟糕的设计。更改您的设计,以便只有一个视图控制器拥有该视图。然后对变化作出反应是很自然的。控制器B然后告诉控制器A "删除子视图" 然后控制器A然后执行动画以及您想要的任何内容事后做。

如何做到这一点在很大程度上取决于您的控制器和应用程序的设计,所以在这里无法告诉您如何做到这一点。