1. 程式人生 > >iOS - UIAlertController三種顯示提示框代碼

iOS - UIAlertController三種顯示提示框代碼

使用 ani erb bsp color anim 三種 font 提示

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];
}

iOS - UIAlertController三種顯示提示框代碼