我想检查窗口上是否已有警报。警报是GPS的警报(例如“你的应用程序”想要使用当前位置的“不允许和允许”按钮)。如果屏幕上出现此警报,我想设置一些标志。如果有人知道,那么请帮助我解决这个问题。
答案 0 :(得分:0)
for (UIWindow* window in [UIApplication sharedApplication].windows) {
NSArray* subviews = window.subviews;
if ([subviews count] > 0)
if ([[subviews objectAtIndex:0] isKindOfClass:[UIAlertView class]])
return YES;
}
return NO;
这会有所帮助......
答案 1 :(得分:0)
如果您正在开发 ios4.2或更高版本而不是authorizationStatus
类的CLLocationManager
。
为此,您需要检查[CLLocationManager authorizationStatus]
变量,如果其值为kCLAuthorizationStatusNotDetermined
,则会显示警报。
在 iOS 5 或更高版本中,他们是一个选项,通过该选项,使用可以重置位置警告,在这种情况下状态也将是kCLAuthorizationStatusNotDetermined
。因此,如果您的应用程序正在运行,并且用户切换到设置以重置该属性,那么您将需要实现以下CLLocationManagerDelegate
的委托方法。
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
switch (status)
{
case kCLAuthorizationStatusNotDetermined:
//If this is the case than alert will be shown
break;
case kCLAuthorizationStatusDenied:
break;
case kCLAuthorizationStatusRestricted:
break;
case kCLAuthorizationStatusAuthorized:
break;
default:
break;
}
}
谢谢,