四、阅读提醒
在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];