ios - viewWillTransition 没有被称为 swift 4
问题描述
我正在尝试检测我的 iOS 设备上的方向变化。我认为这很简单,但实际上它不起作用......
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
print("Will Transition to size \(size) from super view size \(self.view.frame.size)")
if (size.width > self.view.frame.size.width) {
print("Landscape")
} else {
print("Portrait")
}
if (size.width != self.view.frame.size.width) {
// Reload TableView to update cell's constraints.
// Ensuring no dequeued cells have old constraints.
}
}
以上是我在stackoverflow上找到的代码。viewWillTransition 没有被调用。我注意到帖子坚持要让它工作,但是没有,你可以看到有一个 super 并且它仍然不工作。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
}
是我下一次尝试修复它,什么也没做。
帮助?
解决方案
使用自定义容器视图?如果您已将子 viewController 的视图作为子视图添加到父 viewController 中,则必须调用.addChild(_:)
父 viewController 上的方法来创建两个视图控制器之间的父子关系。
推荐阅读
- java - 将变量设置为局部变量而不是全局变量的好处
- android - 错误:打开失败:没有这样的文件或目录
- google-workspace - 使用 SDK/API 加入 google meet 会议并录制音频/视频?
- validation - 使用多个规则进行 Vuetify 验证
- reactjs - 遇到:Hooks 只能在函数组件的主体内部调用。这可能是由于以下原因之一
- javascript - 当屏幕尺寸发生变化时,如何停止引导程序(reactstrap)下拉菜单重新定位?
- gradle - 如何忽略 Gradle 控制台输出中的特定消息?
- amazon-web-services - 在 s3 存储桶上编辑 Python 脚本
- java - 比较一个类的实例
- react-native - 反应导航 5 在嵌套导航中隐藏底部选项卡导航