我今天有一个相当冗长的问题,因为它需要一些解释。让我们从一个例子开始。
假设我有三个视图控制器:
FullSizeViewController,如名称所示,旨在占据整个屏幕的空间。另一方面,FirstViewController和SecondViewController应该只占屏幕高度的3/4左右。这里有几张图片来说明。
这里我们有FullSizeViewController。没什么特别的,只有两个按钮 - “First”& “第二”。如果你现在还没有抓住,这两个按钮应该切换每个相应的视图控制器,如下所示。
我遇到了主要问题吗?我怎么能够
由于我不太清楚如何做到这一点,我没有尝试过这么多,但我尝试了一件事。
在连接到“第一个”按钮的IBAction中:
let firstVC: FirstViewController = self.storyboard?.instantiateViewControllerWithIdentifier("FirstViewController")! as FirstViewController
self.presentViewController(firstVC, animated: true, completion: nil)
在FirstViewController的viewDidLoad中:
self.view.frame.size = CGSizeMake(UIScreen.mainScreen().bounds.size.width, UIScreen.mainScreen().bounds.size.height - 68)
tl; dr我如何实现this?
答案 0 :(得分:2)
您的全尺寸 VC 应为custom container view controller
。当您希望其他控制器出现在屏幕上时,您可以实例化它,根据需要调整大小,将其添加为*child view controller*
,然后使用animateWithDuration
从底部更改其框架屏幕到你希望它结束的地方。
您不应该使用presentViewController
,因为这会为您提供一个接管整个屏幕的模式 VC 。如果您还没有,请阅读名为“实现自定义容器视图控制器”的文档。