iOS UIAlertController简单使用方法

首先说下UIAlertView和UIActionSheet在iOS9之后苹果官方就不推荐使用了,而是使用UIAlertController来替代。
有图为证

所以学习一下UIAlertController的用法也是有必要的。

1.获取UIAlertController的类对象:

UIAlertController *alertController =[UIAlertController alertControllerWithTitle:@"Success" message:nil preferredStyle:UIAlertControllerStyleAlert];

2.获取UIAlertAction的类对象:

UIAlertAction *doneAction = [UIAlertAction actionWithTitle:@"Done" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
 
    NSLog(@"123");
}];

3.用UIAlertController的类对象alertController的addAction方法添加UIAlertAction的类对象:

[alertController addAction:doneAction];

4.使用window的根视图模态出alertController

[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:alertController animated:YES completion:nil];

如果想用UIActionSheet类似的界面,只需要将第一步中的UIAlertControllerStyleAlert替换成UIAlertControllerStyleActionSheet即可。

如果程序用了这个API,那么在iOS7上会导致crash,所以需要版本兼容

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"title" message:@"message" preferredStyle:UIAlertControllerStyleAlert]; 
                                 
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]; 
                                 
UIAlertAction *confirm = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){ 
    [mainViewDelegate doBackupWithTag:BACKUP_STATISTICS_TAG_CONFIRM]; 
}]; 
                                 
[alert addAction:cancel]; 
[alert addAction:confirm]; 
[self presentViewController:alert animated:YES completion:nil]; 

可以看到,最大的区别,是UIAlertController不再使用delegate的方式来触发回调,而是直接传一个block
delegate和block并没有本质区别,只是触发回调的不同方式而已,解决的都是“在未来的某个时间,调用我”的问题。delegate的复用性更好一点,创建一个delegate实例之后,可以把它设置为多个控件的delegate,减少了重复。block的优势是更加直观,阅读起来更容易,因为代码都在一处,不需要跳来跳去地读代码
但是现在既然苹果官方使用block的频率越来越高,或许这也代表了一种趋势

时间: 2024-04-30 21:28:13

iOS UIAlertController简单使用方法的相关文章

ios下移动文件方法汇总

  这篇文章主要给大家汇总了一下ios下移动文件方法,从简单到复杂,十分的实用,有需要的小伙伴可以参考下. 这段objective c代码用于移动指定路径下的文件 代码如下: if ([fileManager copyItemAtPath:@"FilePath1" toPath:@"FilePath2" error:NULL]) { NSLog(@"Copied successfully"); } 方法二: 使用 NSFileManager: 让

高效的 iOS 应用版本支持方法

本文讲的是高效的 iOS 应用版本支持方法, 极少数应用程序很"奢侈"的只支持最新版本的 iOS. 设置一个较低的部署目标以及基于特定 iOS 版本的代码分支通常是很有必要的.虽然苹果公司的信息有些矛盾,还是有各种办法来完成这个.最近在这条 tweet上看到有人警告说,不要这样做: #define IsIOS7 ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=7) GitHub

iOS 中正则表达式使用方法汇总

iOS 中正则表达式使用方法汇总 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 某种语言中的正则工具算是木桶,而这个工具处理的是正则表达式,算是水,那么水很多,无论是淡水还是咸水,或是雨水,至

javascript弹性运动效果简单实现方法_javascript技巧

本文实例讲述了javascript弹性运动效果简单实现方法.分享给大家供大家参考,具体如下: 弹性运动实现原理:加速运动+减速运动+摩擦运动 运行效果截图如下: 实例代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> #div1{ width:100px; height:100px

Mac OS X 简单的方法知道何时来电了

    最近本猫所在的小区时常停电,往往半夜或是凌晨才来电啊!早上起来本猫在想如何知道确切的来电时间,但又不费事的方法呢.     方法一是用手机录音器录音,因为来电后门禁会发出"滴"的一声,所以只要知道开始录音的时间就可以知道来电的时间了!     方法二是停电就会停水,找一个容器放在打开得水龙头下面,保持超小的出水口,然后第二天看容量就可以知道来电的时间.不过这种方法略微脑残点.     方法三是直接打电话问门卫大叔,因为他们24小时不睡觉啊.或者打电话问供电局说:请相信本猫有一个

pymongo给mongodb创建索引的简单实现方法

  这篇文章主要介绍了pymongo给mongodb创建索引的简单实现方法,涉及Python使用pymongo模块操作mongodb的技巧,需要的朋友可以参考下 下面的代码给user的user_name字段创建唯一索引 ? 1 2 3 4 import pymongo mongo = pymongo.Connection('localhost') collection = mongo['database']['user'] collection.ensure_index('user_name',

使用简单的方法进行批量删除数据

数据 在网上看到一些批量删除数据的例子.但是大部分是用的数组来保存所选的id.这样比较麻烦,也不容易被理解.我就拿个比较简单的方法来实现这个功能.(只看红色的部分即可,而且还加个删除提示窗口) using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;u

水晶报表在VC++6.0中的简单使用方法

水晶报表是一个报表设计开发的强大工具,功能强大,设计灵活,在水晶报表光盘中只提供了一个完全动态生成报表的例子,使用繁琐.现介绍其在VC++6.0中的简单使用方法.编译环境:VC++6.0 sp5 .Windows 2000 Server sp3 (en).一.导入水晶报表使用的动态联接库:根据实际修改文件路径. #import "C:\Documents and Settings\Administrator\桌面\cr\craxdrt9.dll" no_namespace 二.定义接口

给Word文件简单加密方法

  给Word文件简单加密方法          不想让别人看到或修改你的文档内容,可以对word文档进行加密处理,一起来看看Word有哪些加密方法. 方法一: word自带的加密功能 1.在电脑中,打开你要加密的文档,点击菜单中的"文件"-"另存为". 2.在"另存为"窗口中,找到右侧工具栏点击"安全措施选项". 3.在"安全性属性"窗口中,输入"打开word文档时的密码"和"