我通常设置了视图的前导、尾随约束。我已将其高度设置为静态 325。对于底部约束,我设置了 2 个约束 1. 主视图的底部约束为视图的底部约束。 2. 主视图的底部约束到视图的顶部约束。现在,根据用户的操作,我仅显示带有动画的隐藏视图。因此,当视图显示在屏幕上并且应用程序进入后台时,视图的约束会自动更改并且视图会被隐藏。此问题仅发生在 iOS 13 设备中。
我尝试更新其对 viewWillAppear() 的约束,但在 iOS 13 中,当从后台激活应用程序时,也不会调用 ViewControllers 的 viewWillAppear。我也不认为这是更新约束的好主意。
class ViewController: UIViewController {
@IBOutlet weak var topConstraint: NSLayoutConstraint!
@IBOutlet weak var bottomConstraint: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3) {
self.topConstraint.isActive = false
self.bottomConstraint.isActive = true
UIView.animate(withDuration: 0.3) {
self.view.layoutIfNeeded()
}
}
}
}
当应用程序状态从前台更改为后台时,我不希望更改或更新我的约束,反之亦然。
请帮我做同样的事情。
TIA
也遇到了这个问题。注意到如果不检查约束,约束会不断重置Installed
在界面生成器中。因此,作为解决方法,保留所有约束Installed
在IB和改变isActive
仅在代码中说明。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)