【问题标题】:Having hard time placing a UIActivityIndicator inside a UIButton很难将 UIActivityIndi​​cator 放置在 UIButton 中
【发布时间】:2015-03-01 20:03:22
【问题描述】:

我在将 UIActivityIndi​​cator 放置在 UIButton 中时遇到了一些问题。 下面是它的样子:

这就是我经常得到的:

使用此代码:

  self.activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];

    CGFloat halfButtonHeight = self.updateEventButton.bounds.size.height / 2;
    CGFloat buttonWidth = self.updateEventButton.bounds.size.width;
    self.activityView.center = CGPointMake(buttonWidth - halfButtonHeight , halfButtonHeight);

    [self.subSubView addSubview:self.activityView];
    [self.activityView startAnimating];

我希望指示器位于右上角的底部。只需查看指示器现在的位置,并考虑是否将其向下拖动到按钮,然后再向右拖动一点。

这是我的视图设置方式:

【问题讨论】:

    标签: ios objective-c uiactivityindicatorview addsubview


    【解决方案1】:

    您正在计算与按钮相关的坐标系中的指示器位置,但随后将其作为子视图添加到不同的视图,因此坐标不正确。要解决这个问题,您可以直接向按钮添加指示器视图:

    [self.updateEventButton addSubview:self.activityView];
    

    或将按钮坐标系中的点转换为self.subSubView的坐标系,然后再设置为activityView:

    CGPoint centerInButton = CGPointMake(buttonWidth - halfButtonHeight, halfButtonHeight);
    self.activityView.center = [self.updateEventButton convertPoint:centerInButton
                                                             toView:self.subSubView];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多