我的 ViewController 中有几个最初隐藏的 UIView。一旦我从 Firebase 获得成功响应,它们就会被隐藏。这些最初隐藏的视图具有我viewDidLayoutSubviews()
根据设备大小修改的约束(来自 Storyboard)。
在 iOS 11.0 之前,这一切都很完美。完美 = 视图仍然隐藏。一旦 Firebase 返回一个值,视图就会变得不隐藏,并且根据我在viewDidLayoutSubviews()
.
从 iOS 11.0.1 及更高版本开始,我现在正在崩溃viewDidLayoutSubviews()
.
fatal error: unexpectedly found nil while unwrapping an Optional value
这是我的代码,它仅在iOS 11.0.1 及更高版本viewDidLayoutSubviews()
中导致崩溃。
override func viewDidLayoutSubviews() {
if UIScreen.main.bounds.size.height == 736 { // iPhone 8+
welcomeViewWidthConstant.constant = 160.0
welcomeViewHeightConstant.constant = 160.0
}
}
welcomeViewWidthConstant
并且welcomeViewHeightConstant
是在 Firebase 响应之前不可见的视图的高度和宽度约束。
再一次,以上在 iOS 11.0 中运行完美
如何在 iOS 11.0.1 及更高版本中设置约束(基于设备大小)?