iOS 8 UIAlertController 和 UIAlertAction
将alertView 和 actionSheet 封装在UIAlertController 里面化整为零,使开发者更便利
当我们一味的追求高内聚,低耦合的时候,伟大的苹果反其道而行之,这也告诉了我们一个道理:
只有水平高了,内聚也就高了,耦合度自然就低了!哈哈,废话少说,直接上图:
这是整个 demo 的效果图:

下面看看 alert 相关东西的实现,直接上代码:
- (IBAction)alertAction:(id)sender {
UIAlertController * alter = [UIAlertController alertControllerWithTitle:@"通知" message:@"请填写登陆信息!" // 初始化 alert preferredStyle:UIAlertControllerStyleAlert];
[alter addTextFieldWithConfigurationHandler:^(UITextField * textField) {
/*注意:
为 alert 添加textfield 注意 只有preferredStyle
为UIAlertControllerStyleAlert时候才能添加textfield
在回调的block内配置 textfield
*/
[textField setFrame:CGRectMake(0, 50, 44, 200)];
[textField setTextColor:[UIColor blueColor]];
[textField setPlaceholder:@"NAMEFIELD"];
[textField setClearButtonMode:(UITextFieldViewModeWhileEditing)];
[textField setBorderStyle:UITextBorderStyleRoundedRect];
}];
[alter addTextFieldWithConfigurationHandler:^(UITextField * textField) {
[textField setFrame:CGRectMake(0, 100, 60, 200)];
[textField setTextColor:[UIColor blueColor]];
[textField setPlaceholder:@"PASSWORD"];
[textField setSecureTextEntry:YES];
[textField setClearButtonMode:(UITextFieldViewModeWhileEditing)];
[textField setBorderStyle:UITextBorderStyleRoundedRect];
}];
[alter addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
/*
在这里添加动作的实现
*/
NSLog(@"%@---%@",alter.textFields[0].text,alter.textFields[1].text);
}]];
[self presentViewController:alter animated:YES completion:nil]; // 显示 alert
}
代码撸好了,运行,点击alertAction 啪的一声,出现了如下的效果图

下面看看actionSheet 的实现
- (IBAction)actionSheet:(id)sender {
UIAlertController * alert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
[alert addAction:[UIAlertAction actionWithTitle:@"拍照" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * action) {
NSLog(@"---拍照获取!");
// 再次添加实现
}]];
[alert addAction:[UIAlertAction actionWithTitle:@"从相册获取" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
NSLog(@"---从相册获取!");
//在此添加实现
}]];
[self presentViewController:alert animated:YES completion:nil];
}
然后运行点击 ,啪的一声:

iOS 8 UIAlertController 和 UIAlertAction的更多相关文章
- iOS关于UITabView和UIAlertController,UIAlertAction以及UINavigation,值修改的传递页面推送
关于UITabView和UIAlertController,UIAlertAction以及UINavigation,值修改的传递 集合嵌套集合的操作 声明 两个必须的的代理 实现部分代码 - (voi ...
- IOS 修改UIAlertController的按钮标题的字体颜色,字号,内容
IOS 修改UIAlertController的按钮标题的字体颜色,字号,内容 UIAlertController *alertVC = [UIAlertController alertControl ...
- iOS开发——UIAlertController
iOS8之后,UIAlertView和UIActionSheet被干掉了,取而代之的是UIAlertController和UIAlertAction. UIAlertController有两种样式,一 ...
- iOS:UIAlertController和UIAlertAction的详解
提示框控制器:UIAlertController 提示框按钮:UIAlertAction 功能:用来提示信息,并给出一些可以进行选择的按钮来处理相应的要求. 注意:在Xcode的iOS8 SD ...
- iOS--UIAlertView与UIAlertController和UIAlertAction之间的事儿
iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备 ...
- iOS 最新UIAlertController
iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController 在实现视图控制器间的过渡动画效果和自适应设备尺 ...
- iOS学习——UIAlertController详解
在开发中,弹出提示框是必不可少的.这两天项目中统一对已经被iOS API废弃的UIAlertView和UIActionSheet进行替换,我们知道,UIAlertView和UIActionSheet都 ...
- UIAlertController、UIAlertAction 警告框
NS_CLASS_AVAILABLE_IOS(8_0) @interface UIAlertAction : NSObject <NSCopying> //创建操作 + (instan ...
- iOS通过UIAlertController弹出底部选择框来调用相机或者相册
UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:nil message:nil preferredSt ...
随机推荐
- 怎样实现给DEDE的栏目增加栏目图片(1)
http://www.genban.org/news/dedecms-7577.html 前两天用DEDE做二次开发的时候,遇到一个问题,领导让给每个栏目增加一个栏目图片的功能,网上找了些东西,结合自 ...
- 【编程技巧】addSubview和insertSubview的区别
addSubview 是将view加到所有层的最顶层 相当于将insertSubview的atIndex参数设置成view.subviews count 即 [view addSubview:onev ...
- Python实现简易Web服务器
1.请自行了解HTTP协议 http://www.cnblogs.com/reboot51/p/8358129.html(点击跳转) 2.创建Socket服务,监听指定IP和端口 3.以阻塞方式等待 ...
- 今天遇到了一个Spring出现的一个未知错误,分享下
异常内容: 未知错误[COM999] 使用环境:dubbo+SpringMVC+myBatis 解决方案:检查Spring配置文件,发现配置文件在注入Service的时候写错了 com.wu.wsf. ...
- ZooKeeper集群的安装、配置、高可用测试
Dubbo注册中心集群Zookeeper-3.4.6 Dubbo建议使用Zookeeper作为服务的注册中心. Zookeeper集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的.正是 ...
- React源码解析:ReactElement
ReactElement算是React源码中比较简单的部分了,直接看源码: var ReactElement = function(type, key, ref, self, source, owne ...
- es6重点笔记:对象
1,Object.is():比较两个值是否严格相等,es5的'===',不能判断+0和-0,还有NaN,但是es6的Object.is()可以区分 Object.is(+0, -0); // fals ...
- CentOS 7安装Oracle 11gR2以及设置自启动
一.环境准备 1.正确无误的CentOS 7系统环境 CentOS 7安装:http://www.cnblogs.com/VoiceOfDreams/p/8043958.html 2.正确的JDK环境 ...
- SNMP PDU解析
(注:此文章仅为个人学习,研究,原创作者:Penguinbupt,原创文章网址:http://blog.csdn.net/u010566813/article/details/50490858) SN ...
- WPF 简易新手引导
这两天不忙,所以,做了一个简易的新手引导小Demo.因为,不是项目上应用,所以,做的很粗糙,也就是给需要的人,一个思路而已. 新手引导功能的话,就是告诉用户,页面上操作的顺序,第一步要做什么,第二步要 ...