ios – 何时以及为什么要调用updateConstraints?

ios – 何时以及为什么要调用updateConstraints?,第1张

概述何时以及为什么要调用updateConstraints?当覆盖时,在覆盖中要做什么样的工作呢? 我已经阅读并观看了很多关于自动布局如何工作的信息,但我似乎无法完全理解它. 您是否更新了保存引用的任何特殊兴趣约束的常量,或者进行自定义是否从视图中删除所有约束并完全重新创建它们就像一个人在WWDC视频中所做的那样? 关于此事的一些想法可以在这里找到: https://oleb.net/blog/201 何时以及为什么要调用updateConstraints?当覆盖时,在覆盖中要做什么样的工作呢?

我已经阅读并观看了很多关于自动布局如何工作的信息,但我似乎无法完全理解它.

您是否更新了保存引用的任何特殊兴趣约束的常量,或者进行自定义是否从视图中删除所有约束并完全重新创建它们就像一个人在WWDC视频中所做的那样?

解决方法 关于此事的一些想法可以在这里找到:

https://oleb.net/blog/2015/08/how-to-use-updateconstraints/

当然,WWDC视频中偶尔会有关于此主题的信息.

但总的来说答案可能是:不要覆盖updateConstraints.在正常情况下不经常调用它,所以如果你也调用setNeedsUpdateConstraints,你只需要覆盖它,结果可能是一个不必要的混乱和复杂的架构.通常不需要updateConstraints覆盖.关于自动布局的WWDC 2018视频显示,这种覆盖通常写得不正确,只会导致一堆效率极低的布局“流失”.如果您需要更改约束,只需在需要更改的位置更改约束.

正如文档现在所说:

It is almost always cleaner and easIEr to update a constraint immediately after the affecting change has occurred. For example,if you want to change a constraint in response to a button tap,make that change directly in the button’s action method.
You should only overrIDe this method when changing constraints in place is too slow,or when a vIEw is producing a number of redundant changes.

最后一句话指的是非常罕见的情况,在任何情况下,您都不太可能知道如何正确实施updateConstraints以提高效率.所以不要.

总结

以上是内存溢出为你收集整理的ios – 何时以及为什么要调用updateConstraints?全部内容,希望文章能够帮你解决ios – 何时以及为什么要调用updateConstraints?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1003022.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存