UIAlertController in swift.
UIAlertView and UIActionSheet are Deprecated in iOS8 and Later. So Apple Introduce new controller for Alertview and ActionSheet called UIAlertController , changing the preferredStyle, you can switch alert or ActionSheet. There is no delegate in it, all button event handle in block.
NOTE : This tutorial only for Alert View, Set preferredStyle :UIAlertControllerStyle.Alert.
1. Simple :
2. Destructive :
3. PlainTextStyle :
4. SecureStyle :
5. LoginStyle:
See demo project on GIT : UIAlertController
Thanks.
NOTE : This tutorial only for Alert View, Set preferredStyle :UIAlertControllerStyle.Alert.
1. Simple :
let alertController = UIAlertController(title: "Simple", message: "Simple alertView demo with Cancel and Ok.", preferredStyle: UIAlertControllerStyle.Alert) let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (result : UIAlertAction) -> Void in print("Cancel") } let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in print("OK") } alertController.addAction(cancelAction) alertController.addAction(okAction) self.presentViewController(alertController, animated: true, completion: nil)
let alertController = UIAlertController(title: "Destructive", message: "Simple alertView demo with Destructive and Ok.", preferredStyle: UIAlertControllerStyle.Alert) let DestructiveAction = UIAlertAction(title: "Destructive", style: UIAlertActionStyle.Destructive) { (result : UIAlertAction) -> Void in print("Destructive") } let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in print("OK") } alertController.addAction(DestructiveAction) alertController.addAction(okAction) self.presentViewController(alertController, animated: true, completion: nil)
3. PlainTextStyle :
let alertController = UIAlertController(title: "PlainTextStyle", message: "PlainTextStyle AlertView.", preferredStyle: UIAlertControllerStyle.Alert) alertController.addTextFieldWithConfigurationHandler { (textField : UITextField) -> Void in textField.placeholder = "Login" } let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (result : UIAlertAction) -> Void in print("Cancel") } let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in print(alertController.textFields?.first?.text) } alertController.addAction(cancelAction) alertController.addAction(okAction) self.presentViewController(alertController, animated: true, completion: nil)
4. SecureStyle :
let alertController = UIAlertController(title: "SecureStyle", message: "SecureStyle AlertView.", preferredStyle: UIAlertControllerStyle.Alert) alertController.addTextFieldWithConfigurationHandler { (textField : UITextField) -> Void in textField.secureTextEntry = true textField.placeholder = "Password" } let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (result : UIAlertAction) -> Void in print("Cancel") } let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in print(alertController.textFields?.first?.text) } alertController.addAction(cancelAction) alertController.addAction(okAction) self.presentViewController(alertController, animated: true, completion: nil)
5. LoginStyle:
let alertController = UIAlertController(title: "LoginStyle", message: "LoginStyle AlertView.", preferredStyle: UIAlertControllerStyle.Alert) alertController.addTextFieldWithConfigurationHandler { (textField : UITextField) -> Void in textField.placeholder = "Login" textField.addTarget(self, action: "alertTextFieldDidChange:", forControlEvents: UIControlEvents.EditingChanged) } alertController.addTextFieldWithConfigurationHandler { (textField : UITextField) -> Void in textField.secureTextEntry = true textField.placeholder = "Password" } let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (result : UIAlertAction) -> Void in print("Cancel") } let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in print(alertController.textFields?.first?.text) } okAction.enabled = false alertController.addAction(cancelAction) alertController.addAction(okAction) self.presentViewController(alertController, animated: true, completion: nil)
function to check textfield text condition.func alertTextFieldDidChange(sender : UITextField){ let alertV = self.presentedViewController as? UIAlertController let login = (alertV!.textFields?.first)! as UITextField let okAction = alertV!.actions.last! as UIAlertAction okAction.enabled = login.text?.characters.count > 2 }
See demo project on GIT : UIAlertController
Thanks.
UIAlertController in swift.
Reviewed by KIRIT MODI on 10:36:00 Rating:

Nice One...
ReplyDeleteVery helpful....Keep Doing
Thanks, Harpal..!!
DeleteThis is a helpful guide to understanding howUIAlertController works.
ReplyDelete