2016-11-07 8 views
1

私はカスタムボタンを持っています。ボタンをタップした後、タイトルラベルの代わりにアクティビティインジケータを表示する必要があります。 titleLabelを非表示にするには、私は、インジケータがなく、長いタップのために、それが動作UIButtonのアクティビティインジケータ

- (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]; 

}

をアニメーションを開始する方法では、

self.titleLabel.layer.opacity = 0.0f; 

を使用しています。長いタップを使用すると、タイトルラベルは非表示にならず、タイトルの上にアクティビティインジケータが表示されます。私は "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() 
} 
関連する問題