转自:https://blog.csdn.net/deng0zhaotai/article/details/53887508
通过uialertcontroller实现三种简易弹框
(一)警告类
- (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]; }
(二)带输入框警告类
- (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]; }
(三)操作列表类
- (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]; }