我已经创建了UIImageView
的自定义子类,并且在一种方法中,我想在加载图像时向中心添加活动指示符。我正在使用以下代码,但活动监视器位于UIImageView
之外。我该怎么做才能将它完全置于UIImageView
?
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
indicator.autoresizingMask =
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleBottomMargin |
UIViewAutoresizingFlexibleLeftMargin;
indicator.center = self.center;
[self addSubview:indicator];
[indicator startAnimating];
答案 0 :(得分:14)
center
属性是 superview 的坐标空间中的视图坐标。因此,您需要在imageView的坐标空间中设置指标的坐标。正确的方法是:
indicator.center = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
答案 1 :(得分:3)
indicator.center = [self convertPoint:self.center fromView:[self superview]];
您只需转换点(UIView Class Reference):
@property(非原子)CGPoint中心讨论
中心在 superview 的坐标系中指定 并以分数衡量。
答案 2 :(得分:2)
indicator.center = imageView.center;