2017-08-05 20 views
0

iOSでアプリケーションを実行しているときに、ボタン(UIButton)をクリックすると、デフォルトローディングスピナーがアクションが実行されるまで。しかし、私はその読み込みスピナーがポップアップするのではなく、別の位置でスピンするカスタムインジケーターが必要です。 ここでUIActivityIndi​​catorを使用していますが、カスタムインジケータはその位置で正常に動作しています。しかし、センターのデフォルトのスピナーはまだクリックに沿って来ています。 デフォルトのローディングスピナーが非表示になっているか、ボタンのクリックでポップアップしないように、正しい方法を提案してください。ボタンアクションが実行された後 UIButtonのクリック時にデフォルトのローディングスピナーを非表示にする:iOS Objective C

UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] 
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
indicator.frame= CGRectMake(textView.frame.size.width+30, 
containerView.frame.size.height-45,40,40); 
indicator.autoresizingMask=UIViewAutoresizingFlexibleTopMargin | 
UIViewAutoresizingFlexibleRightMargin; 
[containerView addSubview:indicator]; 
indicator.backgroundColor = [UIColor clearColor]; 
[indicator startAnimating]; 
. 
. 
. 

...

[indicator stopAnimating]; 
+0

あなたの問題や予想される結果のためにスクリーンショットを投稿することができます。 – KKRocks

+0

アクティビティインジケータの表示方法をいくつか追加しますか? –

+0

ねえ、私はコードを追加しました。このインジケータは、ボタンがクリックされたときに発生しますが、デフォルトのスピナーも一緒に発生します。 @AbhishekJain –

答えて

0

あなたのコードでは、NEW UIActivityIndi​​catorView毎回このコードを呼び出すを追加することを続けています。最終的には、あなたのビューに隠されている100のUIActivityIndi​​catorがあります。あなたがすべきことは、インジケータをプロパティとして宣言し、それがnilである場合にのみ作成することです。

@property (nonatomic, strong) UIActivityIndicatorView *indicator; 

-(void)showProcessing { 
    if (_indicator==nil) // here checks for existing indicator in memory 
     _indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
    indicator.frame= CGRectMake(textView.frame.size.width+30, 
    containerView.frame.size.height-45,40,40); 
    indicator.autoresizingMask=UIViewAutoresizingFlexibleTopMargin | 
    UIViewAutoresizingFlexibleRightMargin; 
    [_indicator setHidesWhenStopped:YES]; 
    [containerView addSubview:_indicator]; 
    indicator.backgroundColor = [UIColor clearColor]; 
    [indicator startAnimating]; 
} 

と非表示:

-(void)hideProcessing { 
    [_indicator stopAnimating]; 
} 
0

はこれを試してみてください:

UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] 
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
indicator.frame= CGRectMake(textView.frame.size.width+30, 
containerView.frame.size.height-45,40,40); 
indicator.autoresizingMask=UIViewAutoresizingFlexibleTopMargin | 
UIViewAutoresizingFlexibleRightMargin; 
[indicator setHidesWhenStopped:YES]; // i added this 
[containerView addSubview:indicator]; 
indicator.backgroundColor = [UIColor clearColor]; 
[indicator startAnimating]; 
関連する問題