gpt4 book ai didi

ios - 为什么 iOS 13 放弃我的布局约束更改?

转载 作者:行者123 更新时间:2023-11-28 23:26:29 25 4
gpt4 key购买 nike

我有一个 TableView ,其单元格配置有自动布局约束,以根据其内容处理几个略有不同的布局。我通过在要激活或停用的约束上设置 active 属性来进行更改。在我将应用程序置于后台并返回之前,这一切正常。当我这样做时,看起来我的更改丢失了,单元格的布局约束返回到它们在 nib 文件中的原始状态。

只有在使用 Xcode 11 构建的 iOS 13 上运行时才会发生这种情况。如果我在使用 Xcode 10.3 或 Xcode 11 构建的 iOS 12 上运行,我看不到这个问题。如果我在 iOS 13 上运行并使用 Xcode 10.3 构建,则不会出现此问题。

我已经尝试在 -[NSLayoutConstraint setActive:] 处放置一个符号断点,但是当将应用程序置于后台或将其返回到前台时它不会被击中。

有其他人遇到过这样的问题吗?有什么提示吗?谢谢!

编辑:演示此问题的小项目位于 https://github.com/cooksey/CellLayout

启动应用程序,它应该显示一个表格 View ,图像旁边有一个标签。将应用程序留在主屏幕,然后返回应用程序,标签现在与图像重叠。

最佳答案

问题在于,在单元格xib中,您取消选中了图像对齐标签约束的已安装复选框。但这正是您希望保持激活状态的约束。

(但是,这只是表象。真正的问题是您的目标是交换约束进出,而您做错了。您正试图通过从 xib 文件中的两组约束。否。您从 xib 文件中设置的一组开始,然后创建另一组在代码中设置。保持对两个集合的强引用。现在将它们换入和换出是微不足道的。注意:在交换期间,始终在添加之前删除,否则会发生冲突。)

关于ios - 为什么 iOS 13 放弃我的布局约束更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58545639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com