关闭

iOS - UIAlertController

324人阅读 评论(0) 收藏 举报
分类:

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];


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:107045次
    • 积分:2275
    • 等级:
    • 排名:第17353名
    • 原创:118篇
    • 转载:43篇
    • 译文:0篇
    • 评论:10条
    文章分类
    最新评论