2016-11-07 49 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() 
}