1

我已将 SVProgressHUD 用于progresshud。我发现当用户从一个屏幕移动到另一个屏幕时,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 回答
0

目标 C

写入AppDelegate.m文件。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    //add this line
    [SVProgressHUD setDefaultMaskType: SVProgressHUDMaskTypeBlack];
}

此代码适用于项目中的任何地方。

于 2019-08-07T07:38:31.150 回答