ios - 如何防止 iOS 13 中的 uinavigationbar 和视图之间的间隙?
问题描述
我们目前在 iOS 13 中使用模态演示时遇到了导航栏大小的问题。
在大多数情况下,这可以正常工作,如下图所示:
然而,在一些屏幕中,我们得到了这种奇怪的效果,导航栏的高度较低,并且在它和视图之间有一个奇怪的“透视”间隙。如此屏幕截图所示:
两个视图控制器都为其属性设置了相同的值,以模态方式呈现并对其子视图具有相同的约束(与超级视图/边距/顶部布局指南的间距为 0)。
此问题在 iOS 12 中不会发生,即使使用 iOS 13 SDK 构建也是如此。这是 iOS 13(beta 8)中的一个已知问题,还是我们应该在代码/故事板中进行调整?
解决方案
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if #available(iOS 13.0, *) {
navigationController?.navigationBar.setNeedsLayout()
}
}
我们在这里找到了这项工作,它对我们有用。
推荐阅读
- git - 将子目录复制到同一 git repo 中的另一个文件夹中
- javascript - 变量没有出现在正确的为什么使用 writeFileSync nodejs
- javascript - javascript/jquery 搜索功能不寻找任何员工,只重新加载页面
- python - 你可以在 pygame 中使用动画而不将所有帧都作为图片吗?
- json - 是否有一种特殊的方式来解析 Ruby 中的嵌套 JSON?
- http - ASP Core API - 自定义未经授权的正文
- javascript - Rxjs switchmap过早取消订阅
- javascript - API 请求不起作用,没有显示错误(苗条,工兵)
- matlab - Matlab中如何使用积分函数?
- java - JavaFX:在 GridPane 中添加一行