很难将 UIActivityIndicator 放置在 UIButton 中
Posted
技术标签:
【中文标题】很难将 UIActivityIndicator 放置在 UIButton 中【英文标题】:Having hard time placing a UIActivityIndicator inside a UIButton 【发布时间】:2015-03-01 20:03:22 【问题描述】:我在将 UIActivityIndicator 放置在 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];
我希望指示器位于右上角的底部。只需查看指示器现在的位置,并考虑是否将其向下拖动到按钮,然后再向右拖动一点。
这是我的视图设置方式:
【问题讨论】:
【参考方案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];
【讨论】:
以上是关于很难将 UIActivityIndicator 放置在 UIButton 中的主要内容,如果未能解决你的问题,请参考以下文章
UIActivityIndicator 在构建 UIView 层次结构时旋转?
UICollectionView 单元格中的 UIActivityIndicator 随机不会隐藏
UIActivityIndi cator添加AppDelegate
我可以更改 UIActivityIndicator 的大小吗?