2016-11-07 51 views
1

我有一个自定义按钮,点按按钮后需要显示活动指示符而不是标题标签。要隐藏titleLabel我用UIButton上的活动指示器

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

你为什么不使用'self.titleLabel.hidden = TRUE'? –

+0

它也行不通。这是我试图做的第一件事 – Anna

回答

2

试试这个(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() 
}