UIAlertView在IOS 8以上版本已經過時了,官方推薦我們使用UIAlertController代替UIAlertView、UIActionSheet
1、UIAlertController顯示普通的Alert
-
(IBAction)showAlert:(UIButton *)sender {
//顯示提示框
//過時
// UIAlertView alert = [[UIAlertView alloc] initWithTitle:@“Title” message:@“message” delegate:self cancelButtonTitle:@“cancel” otherButtonTitles:@“ok”, nil];
// [alert show];
UIAlertController alert = [UIAlertController alertControllerWithTitle:@“Title”
message:@“This is an alert.”
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@“OK” style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
//響應事件
NSLog(@“action = %@”, action);
}];
UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@“Cancel” style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
//響應事件
NSLog(@“action = %@”, action);
}];
[alert addAction:defaultAction];
[alert addAction:cancelAction];
[self presentViewController:alert animated:YES completion:nil];
}
2、UIAlertController顯示帶文本輸入的的Alert
-
(IBAction)showList:(UIButton )sender {
//提示框添加文本輸入框
UIAlertController alert = [UIAlertController alertControllerWithTitle:@“Title”
message:@“This is an alert.”
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* okAction = [UIAlertAction actionWithTitle:@“OK” style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
//響應事件
//得到文本資訊
for(UITextField text in alert.textFields){
NSLog(@“text = %@”, text.text);
}
}];
UIAlertAction cancelAction = [UIAlertAction actionWithTitle:@“Cancel” style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {
//響應事件
NSLog(@“action = %@”, alert.textFields);
}];
[alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
textField.placeholder = @“登入”;
}];
[alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
textField.placeholder = @“密碼”;
textField.secureTextEntry = YES;
}];
[alert addAction:okAction];
[alert addAction:cancelAction];
[self presentViewController:alert animated:YES completion:nil];
}
3、UIAlertController顯示ActionSheet
-
(IBAction)showSheet:(UIButton )sender {
//顯示彈出框清單選擇
UIAlertController alert = [UIAlertController alertControllerWithTitle:@“Title”
message:@“This is an Sheet.”
preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@“取消” style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {
//響應事件
NSLog(@“action = %@”, action);
}];
UIAlertAction* deleteAction = [UIAlertAction actionWithTitle:@“删除” style:UIAlertActionStyleDestructive
handler:^(UIAlertAction * action) {
//響應事件
NSLog(@“action = %@”, action);
}];
UIAlertAction* saveAction = [UIAlertAction actionWithTitle:@“儲存” style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
//響應事件
NSLog(@“action = %@”, action);
}];
[alert addAction:saveAction];
[alert addAction:cancelAction];
[alert addAction:deleteAction];
[self presentViewController:alert animated:YES completion:nil];
}