Swift开发:弹框(UIAlertController)
2016-04-15 19:38
393 查看
概述
黄色圆圈代表属性;绿色勾号代表方法。------------------------------------------------------------------------------------------
代码示例
[objc] view plaincopyimport UIKit
class ViewController: UIViewController {
var alert1: UIAlertController!
var alert2: UIAlertController!
var actionSheet: UIAlertController!
override func viewDidLoad() {
// 定义一个按钮,显示最简单的 Alert
let button1 = UIButton.buttonWithType(.System) as UIButton
button1.frame = CGRectMake(self.view.frame.width/2 - 200, 50, 400, 50)
button1.setTitle("最简单的 Alert", forState: UIControlState.Normal)
button1.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
button1.tag = 1
// 定义一个按钮,显示带文本框的 Alert
let button2 = UIButton.buttonWithType(.System) as UIButton
button2.frame = CGRectMake(self.view.frame.width/2 - 200, 150, 400, 50)
button2.setTitle("带文本框的 Alert", forState: UIControlState.Normal)
button2.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
button2.tag = 2
// 定义一个按钮,显示上拉菜单
let button3 = UIButton.buttonWithType(.System) as UIButton
button3.frame = CGRectMake(self.view.frame.width/2 - 200, 250, 400, 50)
button3.setTitle("上拉菜单", forState: UIControlState.Normal)
button3.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
button3.tag = 3
// 定义 cancel、ok、save、delete、reset 的 UIAlertAction
var cancelAction = UIAlertAction(title: "cancel", style: UIAlertActionStyle.Cancel, handler: nil)
var okAction = UIAlertAction(title: "ok", style: UIAlertActionStyle.Default){
(action: UIAlertAction!) -> Void in
println("you choose ok")
}
var saveAction = UIAlertAction(title: "save", style: UIAlertActionStyle.Default){
(action: UIAlertAction!) -> Void in
println("you choose save")
}
var deleteAction = UIAlertAction(title: "delete", style: UIAlertActionStyle.Destructive){
(action: UIAlertAction!) -> Void in
println("you choose delete")
}
var resetAction = UIAlertAction(title: "reset", style: UIAlertActionStyle.Destructive){
(action: UIAlertAction!) -> Void in
println("you choose reset")
}
// 1、初始化最简单的 Alert
alert1 = UIAlertController(title: "simple alert", message: "this is a simple alert", preferredStyle: UIAlertControllerStyle.Alert)
alert1.addAction(cancelAction)
alert1.addAction(resetAction)
alert1.addAction(okAction)
// 2、初始化带文本框的 Alert
alert2 = UIAlertController(title: "login alert", message: "please enter your name and password", preferredStyle: UIAlertControllerStyle.Alert)
alert2.addTextFieldWithConfigurationHandler {
(textField: UITextField!) -> Void in
textField.placeholder = "name"
}
alert2.addTextFieldWithConfigurationHandler {
(textField: UITextField!) -> Void in
textField.placeholder = "password"
textField.secureTextEntry = true
}
var loginAction = UIAlertAction(title: "login", style: UIAlertActionStyle.Default) {
(action: UIAlertAction!) -> Void in
var name = self.alert2.textFields!.first as UITextField
var password = self.alert2.textFields!.last as UITextField
println("name : \(name.text); password : \(password.text)")
}
alert2.addAction(loginAction)
// 3、初始化上拉菜单
actionSheet = UIAlertController(title: "simple action sheet", message: "action sheet message", preferredStyle: UIAlertControllerStyle.ActionSheet)
actionSheet.addAction(cancelAction)
actionSheet.addAction(deleteAction)
actionSheet.addAction(saveAction)
self.view.addSubview(button1)
self.view.addSubview(button2)
self.view.addSubview(button3)
self.view.addSubview(button3)
}
/// 按钮响应事件
func buttonAction(sender: UIButton) {
let num = sender.tag
switch num {
case 1:
self.presentViewController(alert1, animated: true, completion: nil)
case 2:
self.presentViewController(alert2, animated: true, completion: nil)
case 3:
self.presentViewController(actionSheet, animated: true, completion: nil)
default:
break
}
}
}
------------------------------------------------------------------------------------------
结果展示
//官方地址
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAlertController_class/index.html#//apple_ref/doc/uid/TP40014538-CH1-SW2
相关文章推荐
- Swift 闭包表达式
- 如何用Swift实现一个好玩的弹性动画
- Swift中编写单例的正确方式
- Swift2-0基础_Deinitialization析构过程
- Swift2-0基础_Initialization(构造过程)
- Swift2-0基础_Inheritance(继承)
- Swift2-0基础_Subscripts(下标脚本)
- Swift2-0基础_Methods(方法)
- Swift2-0基础_Properties(属性)
- Swift2-0基础_ClassAndStructures(类和结构体)
- Swift2-0基础_Enumerations(枚举)
- Swift2-0基础_Closures(闭包)
- Swift2-0基础_Functions(函数)
- Swift2-0基础_ControlFlow(控制流)
- Swift2-0基础_CollectionType(集合)
- Swift2-0基础_String(字符串)
- 用swift和Accelerate的快速傅里叶变换(FFT)来实现对波形的整形
- 使用swift开发Cordova插件
- Ubuntu上配置Swift的开发环境,基于JetBrains的Clion编辑器
- Swift中闭包实现OC的block传值