iOS - UIAlertController

原创 2016年05月31日 14:05:01

iOS8之后,苹果官方将UIAlertController替代了UIActionSheet和UIAlertView。把两种类型的提示信息放到这一个类里来实现。
注意, 这个class不能通过继承的方式来自定义

示例:

ActionSheet


// 创建UIAlertController
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"标题" message:@"内容" preferredStyle:UIAlertControllerStyleActionSheet];

// 添加行为选项
[alertController addAction:[UIAlertAction actionWithTitle:@"删除" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
    // 需要执行的操作
    NSLog(@"删除");
}]];
[alertController addAction:[UIAlertAction actionWithTitle:@"1" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
    NSLog(@"1");
}]];
[alertController addAction:[UIAlertAction actionWithTitle:@"2" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
    NSLog(@"2");
}]];
[alertController addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]];

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

AlertView


// 创建UIAlertController
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"登录" message:@"请输入信息" preferredStyle:UIAlertControllerStyleAlert];

// 添加文本框
// 用户名
[alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
    textField.placeholder = @"用户名"; // 设置占位文字
    textField.textColor = [UIColor blueColor]; // 设置文字颜色
    textField.clearButtonMode = UITextFieldViewModeWhileEditing; // 设置清除按钮样式
    textField.borderStyle = UITextBorderStyleRoundedRect; // 设置边框样式
}];
// 密码
[alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
    textField.placeholder = @"密码"; // 设置占位文字
    textField.textColor = [UIColor blueColor]; // 设置文字颜色
    textField.clearButtonMode = UITextFieldViewModeWhileEditing; // 设置清除按钮样式
    textField.borderStyle = UITextBorderStyleRoundedRect; // 设置边框样式
    textField.secureTextEntry = YES; // 设置为密文显示
}];

// 添加行为选项
[alertController addAction:[UIAlertAction actionWithTitle:@"登录" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
    // 需要执行的操作
    LXFLog(@"登录");
    NSArray * textfields = alertController.textFields;
    UITextField * namefield = textfields[0];
    UITextField * passwordfiled = textfields[1];
    NSLog(@"%@:%@",namefield.text,passwordfiled.text);
}]];
[alertController addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
    // 需要执行的操作
    LXFLog(@"取消");
}]];

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


版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS8 UIAlertController 创建UIAlertView以及UIActionSheet

最近发现在iOS8中UIActionSheet已经不支持了,所以研究了一下UIAlertController 如果有不对的地方,希望大家多多指教,不废话了,直接上代码。。。方法 + (instan...

iOS8 UIAlertView 和 UIActionSheet 的新用法 UIAlertController详解

添加了新的类 UIAlertController 和 UIAlertAction 来取代曾经的 UIAlertView 和 UIActionSheet,感觉警告窗口的结构更容易理解了,使用起来也更简便...
  • sharmir
  • sharmir
  • 2016年07月30日 11:29
  • 195

iOS,UIAlertController

在IOS8之后,UIAlertController替代了UIActionSheet和UIAlertView.由一个控制器来管理 操作方便, 而且每个功能键都很清晰。不再使用delegate的方式来触...

转-IOS8 UIAlertController 弹框

IOS8中,Apple将UIActionSheet和UIAlertView整合成一个接口UIAlertController。 原来的是一个view,展示在window视图之上。现在改成了cont...

iOS开发 - UIAlertController 弹框提醒

传统的alertView- (void)alertView { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"警告" me...

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了...

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet)

iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了...

01【iOS总结】UIView、UILabel、UITextField、UIButton 、目标动作机制(+UIAlertView、UIAlertController)

1.UIView 他是整个UI控件的父类,大部分控件的初始化方法都使用 // 1.创建一个UIview对象(初始化)并设置它的frame(一个矩形) UIView *myView = [...

UIAlertController的使用(ios9.0后代替UIAlertView与UIActionSheet)

UIAlertController是用来代替之前我们使用的UIAlertView和UIActionSheet,这次的改进总体来讲,感觉思路更清晰简洁了,使用起来也是颇为顺手,下面不多说老样子上代码...

iOS 8中使用UIAlertController

iOS 8的新特性之一就是让接口更有适应性、更灵活,因此许多视图控制器的实现方式发生了巨大的变化。全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS - UIAlertController
举报原因:
原因补充:

(最多只允许输入30个字)