所以我有一个UIView
从底部滑动。该视图具有从前到后,从下到上的超级视图,值为0,高度为220。
我有两个出口来限制高度和底部。
func hidePicker() {
pickerBottomConstraint.constant = -heightConstraint.constant
UIView.animate(withDuration: 0.3, delay: 0, options: [.curveEaseOut], animations: {
self.view.layoutIfNeeded()
}, completion: { _ in
})
}
func showPicker(date: Date?) {
pickerBottomConstraint.constant = 0
UIView.animate(withDuration: 0.3, delay: 0, options: [.curveEaseOut], animations: {
self.view.layoutIfNeeded()
}, completion: { _ in
})
}
这可以在XS,XS Max,XR设备上正常运行,但是当我在其他设备(例如iPhone 6)上运行时,底部总是有一个间隙(24尺寸):
这是隐藏的时间-您可以看到视图的顶部:
这是什么时候显示-底部有一个缝隙:
该视图包含一个日期选择器,一个堆栈视图和一个视图,它们的底部约束都设置为0。
那么为什么我在底部有这个空白?我整日试图找出原因,但似乎无法理解。
PS:我尝试了一个简单的项目来重现它,但我不能。它可以在一个简单的项目中运行,显然我的项目中有一些东西,但是也许有人对下一步的想法有所了解。