我已经使用视图控制器作为模式。我要指定其底部到顶部的高度。这意味着它从底部打开到其高度。我用波纹管代码打开模态:
let popUpVc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "NewController") as! NewController
self.addChildViewController(popUpVc)
//Transition from bottom
let transition = CATransition()
transition.duration = 0.5
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromTop
view.window!.layer.add(transition, forKey: kCATransition)
popUpVc.view.frame = self.view.frame
self.view.addSubview(popUpVc.view)
popUpVc.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
popUpVc.didMove(toParentViewController: self)
请帮助我。
答案 0 :(得分:5)
阅读您的评论似乎要用模态视图控制器覆盖父视图的下半部分。如果您使用的是故事板,则可以使用内置的视图控制器轻松完成此操作……
在下面的示例中,显示按钮以模态方式显示包含的视图控制器,其显示类型为在当前上下文中。
视图控制器具有清晰的背景,并且将包含视图的高度设置为其一半。包含的(黄色)视图控制器具有一个关闭按钮,该按钮与绿色视图控制器中的展开按钮挂钩。
@IBAction func unwind(_ segue: UIStoryboardSegue) { }
所有这些只需一行代码!