IOS create UIAlertViewController programmatically

前端 未结 4 708
时光取名叫无心
时光取名叫无心 2020-12-29 04:54

I\'m working on a ViewController with code (no storyboard). I\'m trying to add and AlertController

I have declare propery in .m

@property (nonatomic,         


        
相关标签:
4条回答
  • 2020-12-29 05:15

    In Xcode 9.4.1

    Create alert function globally and use every where.

    //Alert function
    - (void) showAlertMsg:(UIViewController *)viewController title:(NSString *)title message:(NSString *)message {
    
        UIAlertController * alert = [UIAlertController alertControllerWithTitle : title
                                                                        message : message
                                                                 preferredStyle : UIAlertControllerStyleAlert];
    
        UIAlertAction * ok = [UIAlertAction
                              actionWithTitle:@"OK"
                              style:UIAlertActionStyleDefault
                              handler:^(UIAlertAction * action)
                              { }];
    
        [alert addAction:ok];
        dispatch_async(dispatch_get_main_queue(), ^{
            [viewController presentViewController:alert animated:YES completion:nil];
        });
    
    }
    

    Call like this in your required place.

    Import that class and create instance

    //Ex:
    GlobalClassViewController *gcvc = [[GlobalClassViewController alloc]init];
    
    //Call alert function with instance
    [gcvc showAlertMsg:self title:@"" message:placeholderText];
    

    How would I create a UIAlertView in Swift?

    0 讨论(0)
  • 2020-12-29 05:18

    Create global Alert controller that is accessible in all view controllers using extension.
    Create an extension of UIViewController with your function to display alert with required parameter arguments.

    extension UIViewController {
    
          func displayalert(title:String, message:String) {
            let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert)
            alert.addAction((UIAlertAction(title: "OK", style: .default, handler: { (action) -> Void in
    
                alert.dismiss(animated: true, completion: nil)
    
            })))
    
            self.present(alert, animated: true, completion: nil)
    
    
          }
    }
    


    Now call this function from your view controller:

    class TestViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            self.displayalert(title: <String>, message: <String>)
        }
    }
    
    0 讨论(0)
  • 2020-12-29 05:19

    And in Swift >=3:

      let alertController = UIAlertController(title: "Some Error",
                                                   message: "Pleas confirm?",
                                                   preferredStyle: .alert)
    
      let defaultAction = UIAlertAction(title: "OK", style: .default, handler: nil)
                alertController.addAction(defaultAction)
    
      self?.present(alertController, animated: true, completion: nil)
    
    0 讨论(0)
  • 2020-12-29 05:25
    - (void)logoutButtonPressed
    {
         UIAlertController * alert = [UIAlertController
                                     alertControllerWithTitle:@"Logout"
                                     message:@"Are You Sure Want to Logout!"
                                     preferredStyle:UIAlertControllerStyleAlert];
    
        //Add Buttons
    
        UIAlertAction* yesButton = [UIAlertAction
                                    actionWithTitle:@"Yes"
                                    style:UIAlertActionStyleDefault
                                    handler:^(UIAlertAction * action) {
                                        //Handle your yes please button action here
                                        [self clearAllData];
                                    }];
    
        UIAlertAction* noButton = [UIAlertAction
                                   actionWithTitle:@"Cancel"
                                   style:UIAlertActionStyleDefault
                                   handler:^(UIAlertAction * action) {
                                       //Handle no, thanks button
                                   }];
    
        //Add your buttons to alert controller
    
        [alert addAction:yesButton];
        [alert addAction:noButton];
    
        [self presentViewController:alert animated:YES completion:nil];
    }
    
    0 讨论(0)
提交回复
热议问题