Ios 警告:不建议在分离的视图控制器上显示视图控制器
我在这方面的情况与我在这里找到的所有其他例子都不同。我有一个基于标签的应用程序。在其中一个选项卡上,用户可以按下一个按钮,同时从web服务器下载多个文件 我使用NSOperation来执行这些下载,这样我就可以利用内置的依赖项。下载都发生在后台线程上,因此应用程序保持响应。当最终下载完成时,我在屏幕上放置了一个alertController,让用户知道它们已经完成 如果用户在显示警报控制器时选择了其他选项卡,我会收到警告:“不建议在分离的视图控制器上显示视图控制器” 如果它们仍然在开始下载的同一个选项卡上,那么我不会得到警告。我试着替换:Ios 警告:不建议在分离的视图控制器上显示视图控制器,ios,objective-c,xcode,compiler-warnings,uialertcontroller,Ios,Objective C,Xcode,Compiler Warnings,Uialertcontroller,我在这方面的情况与我在这里找到的所有其他例子都不同。我有一个基于标签的应用程序。在其中一个选项卡上,用户可以按下一个按钮,同时从web服务器下载多个文件 我使用NSOperation来执行这些下载,这样我就可以利用内置的依赖项。下载都发生在后台线程上,因此应用程序保持响应。当最终下载完成时,我在屏幕上放置了一个alertController,让用户知道它们已经完成 如果用户在显示警报控制器时选择了其他选项卡,我会收到警告:“不建议在分离的视图控制器上显示视图控制器” 如果它们仍然在开始下载的同一
[self presentViewController:alertController animated:YES completion:nil];
与
但结果是alertController从未出现
我在主线程上演示alertController
我无法预测下载完成后用户将在哪个选项卡视图控制器上,我真的很想摆脱这个警告
我正在使用Obj-C在macOS和Xcode 8上开发。您需要将下载结果委托给顶级视图控制器,它听起来像您的
UIDABBARCONTROLLER
。UITabBarController
当然可以,也可以自行显示警报 写入以修复当前VC中显示导航控制器或VC时出现的警告:
[self.view.window.rootViewController presentViewController:viewController animated:YES completion:nil];
要修复关闭视图控制器时的崩溃,请执行以下操作:
[self dismissViewControllerAnimated:YES completion:nil];
或
如果您从childViewController显示视图,它将向您发出警告。为了避免这种情况,可以在childViewController的父视图上显示视图
[self.parentViewController presentViewController:viewController animated:YES completion:nil];
令人惊叹的!!这行代码解决了我的问题:[self.tabBarController presentViewController:alertController动画:YES完成:nil];可能重复的
[self.parentViewController presentViewController:viewController animated:YES completion:nil];