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
基础教程推荐
猜你喜欢
- 如何从 logcat 中删除旧数据? 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
