我尝试使用Xcode的故事板创建模态视图。我希望它在透明视图中包含一个小的不透明视图,以便看起来像在桌面术语中称为弹出窗口。
我已经为新视图控制器创建了一个segue,将其设置为"以模态显示"并将其显示到"当前上下文",在新视图控制器中创建我的不透明视图,然后将新视图控制器的视图背景设置为"清除颜色",并取消选中"不透明"
当我触发segue时,新框在前一个视图上滑动到位,就像它应该的那样,但是一旦动画结束,背景就会变黑。
这里出了什么问题?如何使背景保持透明,旧视图仍然可见?
答案 0 :(得分:0)
您可以使用此category并更改具有透明模式视图的代码。在文件UIViewController+ENPopUp.m
中,您只需在[popUpView setBackgroundColor:[UIColor clearColor]];
方法的末尾添加presentPopUpView
。
我希望这可以帮到你。
答案 1 :(得分:0)
您需要使用View Controller Containment: iOS Developer Library
// Sample code you can use in your UIViewController
func addChildVC(child: UIViewController) {
self.addChildViewController(child)
child.view.bounds = self.view.bounds
self.view.addSubview(child.view)
child.didMoveToParentViewController(self)
}
func removeChildVC(child:UIViewController) {
child.willMoveToParentViewController(nil)
child.view.removeFromSuperview()
child.removeFromParentViewController()
}