gpt4 book ai didi

ios - 为什么无法访问 view.center.x/y

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

我很好奇为什么你不能访问 view.center.x 或 view.center.y 但你可以访问 view.center 并更改它。

我想写这段代码:

imgView_.center = scrollView_.center;
if (imgView_.frame.origin.x < 0)
imgView_.center = CGPointMake(imgView_.center.x + (imgView_.frame.size.width - self.view.frame.size.width) / 2, imgView_.center.y);
if (imgView_.frame.origin.y < 0)
imgView_.center = CGPointMake(imgView_.center.x, imgView_.center.y + (imgView_.frame.size.height - self.view.frame.size.height) / 2);

作为:

imgView_.center = scrollView_.center;
if (imgView_.frame.origin.x < 0)
imgView_.center.x = imgView_.center.x + (imgView_.frame.size.width - self.view.frame.size.width) / 2;
if (imgView_.frame.origin.y < 0)
imgView_.center.y = imgView_.center.y + (imgView_.frame.size.height - self.view.frame.size.height) / 2;

我发现第二种方式更优雅,但我无法访问 x 和 y,所以我想问问是否有人知道 Apple 阻止它的原因是什么。

最佳答案

请参阅 UIView 的 UIViewGeometry 类别中定义的中心属性,如下所示

@property(nonatomic) CGPoint center;

通过中心属性的声明,我们有中心属性的getter & setter方法。这意味着我们有结构的 setter 和 getter 方法,而不是结构内的值。Center 是一个 CGPoint 结构变量,它有两个 CGFloatx 和 y

那是因为我们不能直接在 center 属性中设置 x 和 y 值。它类似于 Frame 属性。

关于ios - 为什么无法访问 view.center.x/y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18375995/

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