ios – 使用MBProgressHUD的断言失败 – 视图不能为零

前端之家收集整理的这篇文章主要介绍了ios – 使用MBProgressHUD的断言失败 – 视图不能为零前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在应用程序中使用MBProgressHUD. HUD被添加到视图的时候我收到一个错误.

这是将进度条添加到视图的代码.

HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.view.window addSubview:HUD];

// Set determinate mode
HUD.mode = MBProgressHUDModeAnnularDeterminate;

HUD.labelText = @"Loading";

// myProgressTask uses the HUD instance to update progress
[HUD showWhileExecuting:@selector(processFieldEntries) onTarget:self withObject:nil animated:YES];

应用程序错误

*** Assertion failure in -[MBProgressHUD initWithView:],/Users/.../MBProgressHUD/MBProgressHUD.m:190

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',reason: 'View must not be nil.'

Crash: View must not be nil.

有谁知道Assertion失败是什么以及如何解决. MBProgressHUD.m文件包含在“构建阶段”选项卡中的“编译源”和文件中包含的标题中.正在将进度添加到处理现场验证的过程中.

解决方法

您好,这是HUD显示屏上的快速提示.

首先,不要在这里翻转,但请确保如果您正在初始化导航控制器的HUD,那么您有一个或任何其他的事情.请注意,您在视图中粘贴HUD的次数越多,HUD重叠式(通常是好东西)将被禁用和覆盖的交互越多.

所以例如,如果你在一个基本的视图控制器,或一个模态等,做这样的事情:

HUD = [[MBProgressHUD alloc] initWithView:self.view];
[self.view addSubview:HUD];

请注意,您将其添加到与初始化的相同视图中.

还要注意你可以在其他视图中填充它:
self.navigationcontroller.view,self.splitviewcontroller.view或我的最爱:self.splitviewcontroller.view.superview(覆盖和禁用视图的两边).

如果您按照适用于您应用程序的正确视图的初始化示例,您的问题将自动解决.

好好

猜你在找的iOS相关文章