4

我刚刚下载了 SVProgressHUD 并将其合并到我的项目中,如 github 文档页面中所述,但即使我写了[SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeGradient];,它与默认掩码类型没有什么不同,当我在光标旋转时点击屏幕时,我得到了我的应用程序崩溃 - 这意味着我无法禁用用户交互功能,因为我的应用程序在显示所有表格视图单元格之前就崩溃了。

请注意clearorblack掩码类型也不起作用。

那么如何才能成功禁用用户交互呢?我应该写上面的代码的AppDelegate.m'sapplicationDidFinishWithLaunchingOptions:FirstViewController.'s的哪个文件?viewDidLoad:

我使用最新版本的SVProgressHUD并使用 Xcode 5.1 和 iOS 7.1。我也使用ARC。我错过了什么吗?

[更新]

这是一个错误问题,已在当前版本中解决。在Github 页面上查看以获取更多信息。

4

5 回答 5

12

回答这个问题已经很晚了,但以防万一它可以帮助某人,因为我今天被这个问题困扰了一段时间。如果您使用的是来自 github 的最新类,则不会遇到任何问题,但如果您使用的是旧类,则从 SVProgressHUD.m 替换以下方法,如下所示

+ (void)showWithStatus:(NSString *)status 
  {   
     [self setDefaultMaskType:SVProgressHUDMaskTypeGradient];
     [self showProgress:SVProgressHUDUndefinedProgress status:status];
  }
于 2016-04-06T10:33:53.353 回答
11

我正在使用SVProgressHUDswift 和 iOS 10.2 。只需设置掩码类型

在 AppDelegate 中

SVProgressHUD.setDefaultMaskType(.black)作品。

每次你写

SVProgressHUD.show()

它将显示掩码,并且 userInteraction 由它管理。

于 2017-03-22T05:03:25.023 回答
3

你没有错过任何东西。iOS 7 似乎不尊重掩码类型,因此永远不会禁用用户交互。我认为这是 SVProgressHUD 的错误,而不是其他任何错误。真的有点沮丧。

于 2014-03-14T16:27:02.320 回答
0

这可以通过在SVProgressHUD类中进行一些更改来轻松完成:只需放入
[self.window setUserInteractionEnabled:NO];最后一个showprogress with status并放入[self.window setUserInteractionEnabled:YES];方法dismiss

于 2016-09-08T06:41:44.290 回答
0

目标 C (AppDelegate.m)

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

    //add this line
    [SVProgressHUD setDefaultMaskType: SVProgressHUDMaskTypeBlack];
}
于 2019-08-07T07:23:38.430 回答