Constraints resets when app is going in background - iOS 13(当应用程序在后台运行时,约束重置-iOS 13)
本文介绍了当应用程序在后台运行时,约束重置-iOS 13的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正常设置了视图的前导约束和尾随约束。我已将其高度设置为静态325。对于底部约束,我设置了两个约束:1.将主视图底约束设置为视图底约束。2.使用主视图的底部约束到视图的顶部约束。现在,在用户的操作上,我只用动画显示隐藏视图。因此,当视图显示在屏幕上,应用程序进入后台时,视图的约束会自动更改,视图会被隐藏。此问题仅在iOS 13设备中出现。
我试图更新其对viewWillspecar()的约束,但在iOS 13中,当应用程序从后台激活时,也不会调用ViewController的viewWillspecar。我也不认为这是更新约束的好主意。
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
状态。
这篇关于当应用程序在后台运行时,约束重置-iOS 13的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:当应用程序在后台运行时,约束重置-iOS 13


猜你喜欢
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01
- 用 Swift 实现 UITextFieldDelegate 2022-01-01
- 想使用ViewPager,无法识别android.support.*? 2022-01-01
- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- Android viewpager检测滑动超出范围 2022-01-01
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- android 4中的android RadioButton问题 2022-01-01