從ios8之後,系統的彈框 UIAlertView 與 UIActionSheet 兩個並在一了起, 使用了一個新的控制器叫 UIAlertController
UIAlertController的基本使用
創建UIAlertController
Title:顯示的標題
message:標題底部顯示的描述信息
preferredStyle:彈框的樣式
樣式分為兩種:
UIAlertControllerStyleActionSheet:
UIAlertControllerStyleAlert
兩種樣式分別顯示如下:
第一步:創建控制器
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"確定要退出嘛?" message:@“顯示的信息" preferredStyle:UIAlertControllerStyleActionSheet];
第二步:創建按鈕
彈框當中的每一個按鈕分別對應一個 UIAlertAction
UIAlertAction創建方式如下:
actionWithTitle:按鈕要顯示的文字
style:按鈕要顯示的樣式
樣式分為三種:
UIAlertActionStyleDefault:默認樣式,默認按鈕顏色為藍色
UIAlertActionStyleCancel:設置按鈕為取消.點擊取消是,會動退出彈框.
注意:取消樣式只能設置一個,如果有多個取消樣式,則會發生錯誤.
UIAlertActionStyleDestructive:危險操作按鈕,按鈕顏色顯示為紅公
handler:點擊按鈕時調用Block內部代碼.
UIAlertAction *action = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
NSLog(@"點擊了取消");
}];
UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"確定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
NSLog(@"點擊了取消");
[self.navigationController popViewControllerAnimated:YES];
}];
第三步:添加按鈕
把創建的UIAlertAction添加到控制器當中.
[alertController addAction:action];
[alertController addAction:action1];
除了添加按鈕之外,還可以添加文本框,
添加文本框的前提是UIAlertController的樣式必須得要是UIAlertControllerStyleAlert樣式.否則會直接報錯
添加文本框方法為:
[alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
textField.placeholder = @“文本框點位文字";
}];
運行效果為:
通過控制器的textFields屬性獲取添加的文本框.注意textFields它是一個數組.
UITextField *textF = alertController.textFields.lastObject;
第四步:顯示彈框.(相當於show操作)
[self presentViewController:alertController animated:YES completion:nil];