使用控制器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)中做些什么。
答案 0 :(得分:1)
两个视图控制器弄乱相同的视图是糟糕的设计。更改您的设计,以便只有一个视图控制器拥有该视图。然后对变化作出反应是很自然的。控制器B
然后告诉控制器A
"删除子视图" 然后控制器A
然后执行动画以及您想要的任何内容事后做。
如何做到这一点在很大程度上取决于您的控制器和应用程序的设计,所以在这里无法告诉您如何做到这一点。