Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在所有视图的顶部显示位置服务警报_Objective C_Location_Mbprogresshud - Fatal编程技术网

Objective c 在所有视图的顶部显示位置服务警报

Objective c 在所有视图的顶部显示位置服务警报,objective-c,location,mbprogresshud,Objective C,Location,Mbprogresshud,我的应用程序从使用progressHUD窗口在启动图像加载文件开始。 在appDelegate中,我检查位置服务是否已打开,如果已打开,那么没有问题,加载完成后,progressHUD将消失,但如果用户收到请求位置服务权限的警报,它将出现在progressHUD窗口后面,并且我无法在加载应用程序时取消/确定它 如何始终在所有其他视图的顶部显示此警报,特别是在splashprogressHUD顶部显示此警报?您使用的HUD控件是什么 我个人使用的是SVProgressHUD,它非常酷和完整……但有

我的应用程序从使用
progressHUD
窗口在启动图像加载文件开始。 在
appDelegate
中,我检查位置服务是否已打开,如果已打开,那么没有问题,加载完成后,
progressHUD
将消失,但如果用户收到请求位置服务权限的警报,它将出现在
progressHUD
窗口后面,并且我无法在加载应用程序时取消/确定它


如何始终在所有其他视图的顶部显示此警报,特别是在splash
progressHUD
顶部显示此警报?

您使用的HUD控件是什么

我个人使用的是
SVProgressHUD
,它非常酷和完整……但有一个缺点:它创建了自己的
UIWindow
,将HUD显示在所有东西的顶部。当系统创建自己的
UIWindows
时,尤其是在显示
uialertview
时,苹果不推荐这种行为,正如您刚刚意识到的那样,这种行为不起作用

我使用的解决方案是修改
SVProgressHUD
,将其自身添加到应用程序的
窗口.rootViewController.view
的顶部,使其保持在所有内容的顶部…在其自己的主窗口中,让
UIAlertViews
等内容显示在其位于此窗口顶部的私有窗口中,这样,即使progressHUD可见,也可以与
UIAlertView
交互


(如果您没有使用
SVProgressHUD
,那么您使用的另一个类可能也存在相同的问题,请检查该类)


我本应该向
SVProgressHUD
发布拉取请求,但还没有时间。如果我不忘的话,我很快就会做的;)

您给您的
progressHUD
窗口设置了什么
windowLevel
设置?我使用的是基本
MBProgressHUD
。不明白您是如何修改它的,以便显示
UIAlertViews
?基本上,我只需要一个警报-
位置服务
,我能告诉你如何控制这个特定警报吗?不,你不能控制显示哪个窗口
UIAlertView
(当然也不能控制操作系统本身显示的作为位置服务使用的窗口的
UIAlertView
)。我不使用
MBProgressHUD
,但如果它的行为和问题与我解释的相同,在所有内容上使用自己的窗口,甚至是系统警报视图,那么您将需要在主视图中直接显示进度HUD,而不是单独的窗口(我并不真正使用MBProgressHUD,因此您必须签入代码或就此联系开发人员)。