iOS - 全局更改 MBProgressHUD 设计

iOS - Globally change MBProgressHUD design

我使用 MBProgressHUD 在我的应用程序中加载屏幕。我有 26 次使用不同的 HUD。

现在,我决定为 HUD 使用自定义的 UIView(动画 UIImageView)。我想将此应用于我在我的应用程序中使用的所有 HUD,但自定义 HUD 的代码大约有 15 行长,将此代码添加到我的应用程序中每次出现的 MBProgressHUD 绝对不是正确的方法。

从这里开始的正确方法是什么?这不是我第一次 运行 遇到这样的问题,我不确定如何让我的代码更简洁。

一种方法是在AppDelegate中声明spinner,并编写方法showSpinnerhideSpinner,并定义一个macro来调用这些spinner方法。

而且您可以在您的 project.It 中全局使用此宏也很容易更改应用程序委托中的微调器代码,您无需更改任何内容。

你可以

1) subclass 你的 MBProgressHUD 这样你就不会触及你嵌入的库

2) 修改 子class 中的此属性和参数。它应该在此处设置样式,因为您不必在代码的多个位置进行设置。

3) 然后在任何地方调用那个subclass,因为它是一样的class,你以前打过电话

您可以将 MBProgressHUD 上的类别写入 return 您的 HUD 的自定义实例,然后将其导入到您使用它的地方,或者在您的 AppName_Prefix.pch 文件中以到处导入它。

所以,它看起来像这样:

MBProgressHUD+Additions.h中:

+ (MBProgressHUD *)myCustomizedHUD;

MBProgressHUD+Additions.m

+ (MBProgressHUD *)myCustomizedHUD {
   MBProgressHUD *myHUD = [[MBProgressHUD alloc] init]; 
   // customize 
   return myHud; 
}