容器内的ViewController-为什么我要读屏幕高度?

时间:2018-01-19 07:20:01

标签: swift xcode

我正在努力制作一个正在加载到容器中的viewController来获取容器高度,而不是屏幕高度。

在故事板上:我设置了一个容器视图(在一些VC中),链接到一个viewController窗口(通过storyboard),它获取了我的viewController = mainVC的类名。 / p>

在“mainVC”类上,在viewDidLoad上view.frame.height = 667(iPhone 8)。

但是,此容器的高度为600,并且mainVC已链接到此容器中。

此外,在模拟器上,此 mainVC实际上显示为600 。 (不是全屏)

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

仅在

上阅读后才发现
override func viewWillAppear(_ animated: Bool) {

你得到了真正的frame.height正如预期的那样。

viewDidLoad上,视图大小仍未启动。

答案 1 :(得分:-1)

您可以使用以下内容获取父视图框架大小:

super.view.frame.height

或试试这个:

subview.frame = parentView.bounds

subview.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]