您的位置:首页 > 产品设计 > UI/UE

UIAlertController的使用

2016-05-13 11:00 330 查看



四、阅读提醒

在Xcode的iOS8 SDK中,UIAlertView和UIAlertController都被UIAlertController取代。官方库解释: " UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead."、"UIActionSheet is deprecated. Use UIAlertController with a
preferredStyle of UIAlertControllerStyleActionSheet instead. " 。说明了在iOS8+开发,UIALertView和UIActionSheet已经过时了,UIAlertController以一种模块化替换的方式来代替这两这两个控件的功能和作用。
UIAlertController的使用方法:

*  使用UIAlertController共需要三步

*  1.实例化alert:alertControllerWithTitle

*  2.实例化按钮:actionWithTitle

*  3.显示alertController:presentViewController
// 1.实例化alert:alertControllerWithTitle
UIAlertController *alertControl = [UIAlertController alertControllerWithTitle:@"编辑" message:@"请修改菜单名称:" preferredStyle:UIAlertControllerStyleAlert];

// 2.实例化按钮:actionWithTitle
// 为防止block与控制器间循环引用,我们这里需用__weak来预防
__weak typeof(alert) wAlert = alert;
[alert addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
// 点击确定按钮的时候, 会调用这个block
NSLog(@"%@",[wAlert.textFields.firstObject text]);

}]];

[alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]];

// 添加文本框(只能添加到UIAlertControllerStyleAlert的样式,如果是preferredStyle:UIAlertControllerStyleActionSheet则会崩溃)
[alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {

textField.text = model.title;

//监听文字改变的方法
[textField addTarget:self action:@selector(textFieldsValueDidChange:) forControlEvents:UIControlEventEditingChanged];
}];

[alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {

textField.secureTextEntry = YES;  // 密文形式显示
textField.text = model.price;
}];

// 3.显示alertController:presentViewController
[self presentViewController:alert animated:YES completion:nil];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: