gpt4 book ai didi

iPhone——UIView的sizeThatFits方法的输入参数

转载 作者:行者123 更新时间:2023-12-03 18:16:28 24 4
gpt4 key购买 nike

该方法的签名是:

- (CGSize)sizeThatFits:(CGSize)size

我不明白size参数的用途。苹果的documentation指出它是“接收器的当前大小”。

但是接收者大概知道它当前的大小。那么为什么需要传入呢?

当我实验性地传递其他值时,该方法似乎无论如何都会使用接收器的当前大小。

谁能解释一下吗?在任何情况下这个参数都很重要吗?

最佳答案

首先,这个方法是AppKit遗留的(不是​​这个词的负面意义)。

是的,任何 View 在任何给定时刻都有一定的当前大小,并且可以从bounds属性中检索它。但在布局过程中,当最佳尺寸取决于不完全静态的因素时,会出现一些棘手的情况。以文本标签为例。它可以排成一行或多行,并且行数可能取决于最大允许宽度。因此,可能的 UILabel 实现可以从传递给 sizeThatFits: 的 CGSize 宽度得出其边界大小,在这种情况下,该大小实际上并不是接收器的当前大小,而是一些所需/限制大小。

因此,任何 UIView 子类都可以实现 -sizeThatFits: 因为它认为合适(双关语),甚至可以自由地忽略大小参数。大多数情况下,当我必须实现此方法时,我会忽略它,因为我可以根据 View 的内部状态来计算它,但在更复杂的情况下,您可能需要使用 size 参数来提示自己布局中的某些限制。

关于iPhone——UIView的sizeThatFits方法的输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4016316/

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