我有一个自定义按钮,我需要在点击按钮后显示活动指示器而不是标题标签。要隐藏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];
}
它有效,但不适合长时间使用。当我使用长按时,标题标签不会被隐藏,活动指示符会出现在标题上方。我尝试在“startAnimating”中设置标题的颜色,它可以工作,但我认为这不是一个好的解决方案。 如果有人可以提供帮助,我们将非常感激:)
答案 0 :(得分:3)
试试这个(swift):
@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()
}