ios - UIButton上的事件指示器

标签 ios objective-c uibutton title uiactivityindicatorview

我有一个自定义按钮,点击该按钮后,我需要显示一个 Activity 指示器而不是标题标签。隐藏我使用的titleLabel

self.titleLabel.layer.opacity = 0.0f;

在该方法中,指标开始动画
- (void)startAnimating {
[self bringSubviewToFront: self.spinner];
self.titleLabel.layer.opacity = 0.0f;
[self.spinner startAnimating];

self.titleLabel.layer.opacity = ([self isAnimating]) ? 0.0f : 1.0f;
[self setNeedsDisplay];

}

它有效,但不能长时间使用。长按时,标题标签没有隐藏,标题上方出现 Activity 指示器。我试图在“startAnimating”中为标题设置颜色,它可以工作,但是我认为这不是一个好的解决方案。
如果有人可以提供帮助,将不胜感激:)

最佳答案

试试这个(快速):

@IBOutlet var buttonTap: UIButton!
var indicator = UIActivityIndicatorView()

@IBAction func buttonTap(_ sender: AnyObject) {
    buttonTap.setTitle("", for: .normal)
    indicator.center = buttonTap.center
    indicator.color = UIColor.black
    indicator.startAnimating()
}

关于ios - UIButton上的事件指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40464509/

相关文章:

ios - 在applozic中自定义相机覆盖

ios - UILocalNotification 不显示

ios - 如何使用普通按钮而不是条形按钮项目

ios - 如何检查两个对象 (UIButtons) 是否相同

ios - 将文件从 iOS 上传到 Amazon S3

ios - 让 MobileVLCKit 通过 Cocoapods 工作

ios - 我是否需要检查 block 内的 strongSelf = weakSelf 赋值是否为 nil?

objective-c - 如何在 iPhone 中使带有图像背景的按钮变圆?

ios - 为 SpriteKit 转换 UITapGestureRecognizer 的触摸位置 - Swift

objective-c - @try/@catch 不捕获异常