如何从底部到顶部呈现局部高度模态视图控制器

时间:2018-09-06 06:14:51

标签: ios swift uiviewcontroller modalviewcontroller

我已经使用视图控制器作为模式。我要指定其底部到顶部的高度。这意味着它从底部打开到其高度。我用波纹管代码打开模态:

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)

请帮助我。

1 个答案:

答案 0 :(得分:5)

阅读您的评论似乎要用模态视图控制器覆盖父视图的下半部分。如果您使用的是故事板,则可以使用内置的视图控制器轻松完成此操作……

在下面的示例中,显示按钮以模态方式显示包含的视图控制器,其显示类型为在当前上下文中

视图控制器具有清晰的背景,并且将包含视图的高度设置为其一半。包含的(黄色)视图控制器具有一个关闭按钮,该按钮与绿色视图控制器中的展开按钮挂钩。

@IBAction func unwind(_ segue: UIStoryboardSegue) { }

所有这些只需一行代码!