iOS 使AlertController在视图的最上面,将其添加到Window层上

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"获取相册提示" message:@"开启相册提示" preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
[alertController addAction:cancelAction];

UIAlertAction *sureAction = [UIAlertAction actionWithTitle:@"去设置" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
    // 直接跳转到对应的设置中
    NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
    }
}];
[alertController addAction:sureAction];

///为了使alertController显示在图片上面,故添加在Window上
UIWindow *alertWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
alertWindow.rootViewController = [UIViewController new];
alertWindow.windowLevel = UIWindowLevelAlert + 1;
[alertWindow makeKeyAndVisible];

[alertWindow.rootViewController presentViewController:alertController animated:YES completion:nil];

你可能感兴趣的:(iOS 使AlertController在视图的最上面,将其添加到Window层上)