我在这里发帖是因为我完全失去了这个。 我已经在网上搜索过,自己尝试了很多东西,并在这个问题上搜索了几周,但我找不到它。
从那以后 iOS 11 (在iOS 10上没有发生),每当我按下一个按钮激活" show" segue in UINavigationController
动画在顶部显示一些奇怪的填充。
动画结束后,此填充消失。
我已将超视图的背景颜色更改为红色,您可以看到的空间确实来自超级视图本身,所以我的猜测是整个UITableView
由于某种原因正在被降下来,虽然我不确定这里到底是什么原因。
(我使用的是storyboard和AutoLayout约束)
我注意到的另一件事是,你看到的间距/填充在iPhone X上与其他设备相比不同(我的猜测是它的高度与(非)相同)顶部的安全区域?再次,不确定。
我不认为这里需要提供代码,因为我不知道哪个部分会导致这种行为(并且我可以分享很多代码)原因..)。 任何有关如何解决此问题的建议/帮助都将深表感谢!
以下是一些示例:
运行iOS 11.1的iPhone X(也发生在11.0上)
编辑:我应该添加一些我已尝试过的内容:
tableView.contentInsetAdjustmentBehavior = .never
tableView.setContentOffset(0, animated: false)
UINavigationBar
AutomaticallyAdjustContentInsets
设置为false 答案 0 :(得分:0)
所以,正如Spenser-Arn所建议的那样,我讨论了约束和安全区域,结果是问题原因的安全区域。
希望这能帮助其他人,就像它对我有所帮助一样,对Spenser-Arn来说也是一个很大的帮助!