我有一个View Controller,它以模态方式呈现另一个视图控制器(底部动画)。
我正在尝试呈现具有特定大小的视图控制器,我希望它以模态方式呈现,但在这种情况下,它是原始大小的80%。
let newVC = tabBarController.storyboard?.instantiateViewController(withIdentifier: "newPostVC") as? NewPostVC
newVC.view.frame = CGRect(x: 0, y: 0, width: tabBarController.view.frame.width, height: tabBarController.view.frame.height * 0.8)
tabBarController.present(newVC, animated: true)
但是视图控制器以其完整大小(屏幕大小)呈现。 我认为我要调整视图控制器的大小,但我可能错了。
故事板中的我的视图控制器将过渡样式设置为:Cover Vertical,并将Presentation设置为:Full Screen。
这可能是问题吗?
你能给我一个提示吗?
谢谢:)
答案 0 :(得分:1)
尝试做这样的事情。
创建ContainerVC
以编程方式添加newVC
作为子视图。在ContainerVC viewDidLoad()
newVC
上的约束设置为容器大小的80%
。您可以使用Anchorage
之类的框架轻松设置此约束。 backgroundColor = .clear
.overCurrentContext
,如modalPresentationStyle = .overCurrentContext
在呈现它时你可以这样
//create view controller
let VC = ContainerVC()
//present modal
self.present(VC, animated: true, completion: nil)