gpt4 book ai didi

iphone - 为什么我的 UIActivityIndi​​cator 在 UIButton 中作为 subview 进入负 x 坐标

转载 作者:行者123 更新时间:2023-11-29 03:52:28 27 4
gpt4 key购买 nike

我有以下代码

- (void) loadView {
self.okButton.autoresizingMask = UIViewAutoresizingFlexibleWidth;
CGFloat w = 20;
self.indicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(5, 0, w, w)];
indicator.hidesWhenStopped = YES;
self.indicator.center = self.okButton.center;
[self.okButton addSubview:indicator];
indicator.autoresizingMask = UIViewAutoresizingNone;
}

okButton 添加到复杂的 View 层次结构中。我希望指示器正确放置在 okButton 中。但在 loadview 和 viewDidLoad 中,框架给出以下值,

<UIButton: 0x210620a0; frame = (10 121; 300 50); opaque = NO; autoresize = W; layer = <CALayer: 0x21061560>>, 
<UIActivityIndicatorView: 0x21062540; frame = (-0.5 15; 20 20); hidden = YES; layer = <CALayer: 0x21062640>>

为什么指标的 x 从 5 变为 -0.5?

编辑:我应该删除一行,计算指标的位置如下,

//    self.indicator.center = self.okButton.center;
CGFloat size = 20, y = (self.okButton.frame.size.height - size)/2;
self.indicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(5, y, size, size)];

最佳答案

我认为你的问题出在这一行:

self.indicator.center = self.okButton.center;

Indicator 是 okButton 的 subview ,但您可以使用相对于 super View 的 x 和 y 值设置坐标。您应该使用 width/2 和 height/2 从 View 内部获取中心。

关于iphone - 为什么我的 UIActivityIndi​​cator 在 UIButton 中作为 subview 进入负 x 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16934361/

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