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
基础教程推荐
猜你喜欢
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01