1

私はprogresshudにSVProgressHUDを使用しました。ユーザーがある画面から別の画面に移動しても、SVProgressHUD が消えないことがわかりました。[SVProgressHUD dismiss];すべてのクラスに電話するのは面倒な-(void)viewWillDisappear:(BOOL)animatedので、より良い解決策を見つけたいです。現在、以下のコードを実装していますが、より良い方法を見つけたいです

-(void)viewWillDisappear:(BOOL)animated{
  [SVProgressHUD dismiss];
}

Git の SVProgressHUD

HUD を非表示にするには、次のいずれかのメソッドを呼び出す必要があります。

+ (void)dismiss;
+ (void)dismissWithSuccess:(NSString*)successString;
+ (void)dismissWithSuccess:(NSString*)successString afterDelay:(NSTimeInterval)seconds;
+ (void)dismissWithError:(NSString*)errorString;
+ (void)dismissWithError:(NSString*)errorString afterDelay:(NSTimeInterval)seconds;

ただし、各クラスのプロジェクト全体で同じコードを記述するのは良いコーディング方法ではないため、すべてのクラス[SVProgressHUD dismiss];を呼び出したくありません-(void)viewWillDisappear:(BOOL)animated

4

2 に答える 2

3

SVProgressHUD を使用するすべてのクラスがそのクラスを継承するスーパー クラスを作成でき、スーパー クラスでは次のように実行できます。

-(void)viewWillDisappear:(BOOL)animated{
if([SVProgressHUD isVisible]) 
 [SVProgressHUD dismiss];}
于 2015-06-04T11:57:26.823 に答える