在非ViewController中显示AlertController的方法

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.

如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)



以前我们可以在任何类中使用UIAlertView的show实例方法显示消息框

但是自从废弃了UIAlertView之后,作为替代我们可以使用心得消息框弹出方法UIAlertController来显示,但是该对象只能通过ViewController的presentViewController:alert animated:YES completion:方法来显示.

那么如何在其他类中使用UIAlertController显示消息框呢?

其实很简单,我们可以通过Application的window对象定位到任何我们希望的UIViewController,从而显示消息框,示例代码如下:

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Reversed" message:
                                msgString preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"OK" style:
                                   UIAlertActionStyleCancel handler:^(UIAlertAction *action){
        [self activityDidFinish:YES];
    }];
    [alert addAction:cancelAction];
    UIViewController *vc = [UIApplication sharedApplication].windows[0].rootViewController;
    [vc presentViewController:alert animated:YES completion:nil];

通过以上代码,可以看到我们是如何取得App中的ViewController对象的.

时间: 2024-12-24 22:32:11

在非ViewController中显示AlertController的方法的相关文章

mvc的视图中显示DataTable的方法

mvc的视图中显示DataTable的方法: 不断的循环画出table @{ ViewBag.Title = "ShowDataTable"; } @using System.Data; @model Models.ConModel @{ var table = Model.ExcelTable as DataTable; } <script src="~/Scripts/My97DatePicker/WdatePicker.js"></scrip

JS实现alert中显示换行的方法

转自脚本之家: 这篇文章主要介绍了JS实现alert中显示换行的方法,实例分析了两种实现alert换行的实现技巧,非常简单实用,需要的朋友可以参考下 本文实例讲述了JS实现alert中显示换行的方法.分享给大家供大家参考,具体如下:先来介绍一种比较复杂的方法,但这种方法使用起来对所有型号的浏览器都能任意分辨: //浏览器类型判定 function getOs() {   if(navigator.userAgent.indexOf("MSIE")>0) {      return

网页中显示pdf的方法

非常好的在网页中显示pdf的方法 今天有一需求,要在网页中显示pdf,于是立马开始搜索解决方案,无意中发现一个非常好的解决方法,详见http://blogs.adobe.com/pdfdevjunkie/web_designers_guide. 其实就光看这个网站也足够了,http://www.pdfobject.com/ 记录一下主要代码: <script type="text/javascript" src="scripts/pdfobject/pdfobject.

非常好的在网页中显示pdf的方法

今天有一需求,要在网页中显示pdf,于是立马开始搜索解决方案,无意中发现一个非常好的解决方法,详见http://blogs.adobe.com/pdfdevjunkie/web_designers_guide. 其实就光看这个网站也足够了,http://www.pdfobject.com/. 记录一下主要代码: <script type="text/javascript" src="scripts/pdfobject/pdfobject.js"><

django 上传图片不能在视图中显示的解决方法

media路径设置: MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL =  '/media/' 网页中图片无法显示,显示404错误: [28/Oct/2014 11:03:15] "GET /media/photos/44.thumb.JPG HTTP/1.1" 404 2528 解决方法: 根据DJANGO1.6文档 -6.19.2 static(): 设置项目URL文件: from django.conf import 

在子类中显示父类的方法

用super 1 package ppt04; package ppt04; public class Ostrich extends Bird { // 重写Bird类的fly()方法 public void fly() { System.out.println("我只能在地上奔跑..."); } public void callOverridedMethod() { // 在子类方法中通过super来显式调用父类被覆盖的方法. super.fly(); } public stati

在asp.net中显示PDF的方法:

来源:http://www.cnblogs.com/tengs2000/archive/2009/02/23/1396646.html 一.直接显示,使用的还是原页面的URL 1 Response.ContentType = "application/pdf"; 2 Response.Clear(); 3 Response.TransmitFile(@"SharePoint.pdf"); 4 Response.End(); C# Code 二.以PDF文件做为URL

如何将servlet中的变量在jsp页面中显示--面向对象的方法

//一.在servlet中的步骤//1.获取参数,在地址栏输入 String username = request.getParameter("username"); String password = request.getParameter("password"); //2.创建对象User user = new User(username, password, realname, gender, age); //3.判断,进行跳转if ("zhang

Java非静态内部类中为什么不能有静态变量却可以有常量?

如:public class InnerClassDemo{ int x; class A{ static int a = 0;//这样写是不合法的. static final int b=0;//这样写是合法的    }}解答:简单说,定义一个静态的域或者方法,要求在静态环境或者顶层环境,这里静态环境具体说,你的例子里如果加上 static class A就ok.非静态内部类 依赖于一个外部类对象,而静态域/方法是不依赖与对象——仅与类相关,因此,非静态内部类中不能定义静态域/方法,编译过不了