ios - UIAlertviewcontroller 如何始终在当前视图控制器上方显示它,如 uialertview
问题描述
使用 UIalertview 我们可以显示来自任何类的警报,它总是显示在当前视图控制器上方
我正在使用下面的代码片段来找出当前的视图控制器并在上面显示 alertviewcontroller。
UITabBarController* tabBarController = (UITabBarController*) [[[AppDelegate sharedInstance]window] rootViewController];
id obj= [[[AppDelegate sharedInstance]window]rootViewController];
if([obj isMemberOfClass:[UITabBarController class]]){
UINavigationController *navController = [tabBarController selectedViewController];
UIViewController *vuContollerObj = [navController topViewController];
dispatch_async(dispatch_get_main_queue(), ^ {
[vuContollerObj presentViewController:alert animated:YES completion:nil];
});
}
else if([obj isMemberOfClass:[CommonNavigationController class]] || [obj isMemberOfClass:[UINavigationController class]]){
UINavigationController *navObj= obj;
UIViewController *vuContollerObj = [navObj topViewController];
dispatch_async(dispatch_get_main_queue(), ^ {
[vuContollerObj presentViewController:alert animated:YES completion:nil];
});
}
else{
dispatch_async(dispatch_get_main_queue(), ^ {
[obj presentViewController:alert animated:YES completion:nil];
});
}
问题一:
应用委托
当我尝试显示警报消息时,由于即将到来的视图控制器,它会被隐藏,并且会出现很短的时间。
问题2:
从现有的视图控制器推送新的视图控制器
当我尝试在视图中显示消息时确实加载了新的视图控制器......我的方法将旧的视图控制器检测为当前的视图控制器。
任何解决此问题的帮助将不胜感激。
解决方案
推荐阅读
- mongodb - 仅在嵌入文档 Mongodb 中使用 $ 时更新单个特定字段
- python - Google Colab 中的多个 GPU
- mongodb - mongodb如何存储和管理元数据?
- reactjs - 想要在反应中将用户发送到另一个页面 onCLick,但不工作
- javascript - 在克隆元素中显示上下文菜单
- c++ - 为什么有一个“.h”扩展名
? - mysql - 我试图用nodejs连接mysql但有错误
- java - 在 Selenium Java 客户端中 addArguments 和 setPreference 方法有什么区别?
- powerbi - 有异常的索引列 - POWER BI / DAX / M
- python - 计算 Python 列表中重复的元素总数