iOS – 全局更改MBProgressHUDdevise

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

现在,我决定为HUD使用自定义的UIView(一个UIImageView)。 我想将这个应用到我在我的应用中使用的所有HUD,但是定制HUD的代码长度大概是15行,而且在我的应用中将这个代码添加到MBProgressHUD的每一次出现绝对不是正确的方法。

什么是正确的方式从这里走? 这不是我第一次遇到像这样的问题,我不知道如何保持我的代码更清洁和简单。

一种方法是在AppDelegate中声明微调,然后编写方法showSpinnerhideSpinner ,同时定义一个macros来调用这些微调方法。

而且你可以在你的项目中全局使用这个macros。在应用程序委托中更改微调代码也很容易,你不需要改变任何东西。

您可以

1)子类 MBProgressHUD所以你不要触摸你embedded的库

2)修改该子类中的这些属性和参数。 它应该在这里风格,因为你不必在你的代码中的多个地方。

3)然后在任何地方调用这个子类 ,就像之前调用过的那个

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

所以,它看起来像这样:

MBProgressHUD+Additions.h

+ (MBProgressHUD *)myCustomizedHUD;

MBProgressHUD+Additions.m

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