Since IOS8, Apple has advised the warning box to use Uialertcontroller instead of Uialertview. Here's a summary of some common uses:
1, simple Application (simultaneous button response handler using closure function)
12345678910111213141516171819202122232425262728 |
import UIKit
class ViewController
:
UIViewController ,
UIActionSheetDelegate {
override func viewDidLoad() {
super
.viewDidLoad()
}
override func viewDidAppear(animated:
Bool
){
super
.viewDidAppear(animated)
let alertController =
UIAlertController
(title:
"系统提示"
,
message:
"您确定要离开hangge.com吗?"
, preferredStyle:
UIAlertControllerStyle
.
Alert
)
let cancelAction =
UIAlertAction
(title:
"取消"
, style:
UIAlertActionStyle
.
Cancel
, handler:
nil
)
let okAction =
UIAlertAction
(title:
"好的"
, style:
UIAlertActionStyle
.
Default
,
handler: {
action
in
print
(
"点击了确定"
)
})
alertController.addAction(cancelAction)
alertController.addAction(okAction)
self
.presentViewController(alertController, animated:
true
, completion:
nil
)
}
override func didReceiveMemoryWarning() {
super
.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
|
2, in addition to pop-up, you can also use the style to slide up from the bottom
(Note: If there is a "cancel" button in the pull-down menu, it will always appear at the bottom of the menu, regardless of the order in which it was added)
123456789 |
var alertController =
UIAlertController
(title:
"保存或删除数据"
, message:
"删除数据将不可恢复"
,
preferredStyle:
UIAlertControllerStyle
.
ActionSheet
)
var cancelAction =
UIAlertAction
(title:
"取消"
, style:
UIAlertActionStyle
.
Cancel
, handler:
nil
)
var deleteAction =
UIAlertAction
(title:
"删除"
, style:
UIAlertActionStyle
.
Destructive
, handler:
nil
)
var archiveAction =
UIAlertAction
(title:
"保存"
, style:
UIAlertActionStyle
.
Default
, handler:
nil
)
alertController.addAction(cancelAction)
alertController.addAction(deleteAction)
alertController.addAction(archiveAction)
self
.presentViewController(alertController, animated:
true
, completion:
nil
)
|
3, button using "alarm" style (text color red, used to alert users)
1 |
var okAction = UIAlertAction (title: "好的" , style: UIAlertActionStyle . Destructive , handler: nil ) |
4, add any number of text input boxes (such as can be used to implement a landing box)
1234567891011121314151617181920212223242526272829303132333435363738 |
import UIKit
class ViewController
:
UIViewController ,
UIActionSheetDelegate {
override func viewDidLoad() {
super
.viewDidLoad()
}
override func viewDidAppear(animated:
Bool
){
super
.viewDidAppear(animated)
let alertController =
UIAlertController
(title:
"系统登录"
,
message:
"请输入用户名和密码"
, preferredStyle:
UIAlertControllerStyle
.
Alert
)
alertController.addTextFieldWithConfigurationHandler {
(textField:
UITextField
!) ->
Void in
textField.placeholder =
"用户名"
}
alertController.addTextFieldWithConfigurationHandler {
(textField:
UITextField
!) ->
Void in
textField.placeholder =
"密码"
textField.secureTextEntry =
true
}
let cancelAction =
UIAlertAction
(title:
"取消"
, style:
UIAlertActionStyle
.
Cancel
, handler:
nil
)
let okAction =
UIAlertAction
(title:
"好的"
, style:
UIAlertActionStyle
.
Default
,
handler: {
action
in
let login = alertController.textFields!.first!
as UITextField
let password = alertController.textFields!.last!
as UITextField
print
(
"用户名:\(login.text) 密码:\(password.text)"
)
})
alertController.addAction(cancelAction)
alertController.addAction(okAction)
self
.presentViewController(alertController, animated:
true
, completion:
nil
)
}
override func didReceiveMemoryWarning() {
super
.didReceiveMemoryWarning()
}
}
|
5. Remove the cue box with code
1 |
self .presentedViewController?.dismissViewControllerAnimated( false , completion: nil ) |
The use of the Swift-Alarm prompt box (uialertcontroller)