您的位置:首页 > 移动开发 > Swift

swift 学习之 UIAlertViewController

2015-12-08 11:04 375 查看
//

// PushViewController.swift

// tab

//

// Created by su on 15/12/7.

// Copyright © 2015年 tian. All rights reserved.

//

import UIKit

class PushViewController: UIViewController {
var alert1: UIAlertController!
var alert2: UIAlertController!
var actionSheet: UIAlertController!

override func viewDidLoad() {
super.viewDidLoad()

// label.frame = CGRect(x: 20, y: 100, width: Tools().SCREEN_WIDTH, height: 100)

// label.backgroundColor = Tools().RGB(r: 123, g: 234, b: 132)

// 定义一个按钮,显示最简单的 Alert

let button1 = UIButton(type: UIButtonType.System)
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
self.view.addSubview(button1)

// 定义一个按钮,显示带文本框的 Alert

let button2 = UIButton(type: UIButtonType.System)
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
self.view.addSubview(button2)
// 定义一个按钮,显示上拉菜单

let button3 = UIButton(type: UIButtonType.System)
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
self.view.addSubview(button3)

// 定义 cancel、ok、save、delete、reset 的 UIAlertAction

let cancelAction = UIAlertAction(title: "cancel", style: UIAlertActionStyle.Cancel, handler: nil)
let okAction = UIAlertAction(title: "ok", style: UIAlertActionStyle.Default){
(action: UIAlertAction!) -> Void in
print("you choose ok")
}
let saveAction = UIAlertAction(title: "save", style: UIAlertActionStyle.Default){
(action: UIAlertAction!) -> Void in
print("you choose save")
}
let deleteAction = UIAlertAction(title: "delete", style: UIAlertActionStyle.Destructive){
(action: UIAlertAction!) -> Void in
print("you choose delete")
}
let resetAction = UIAlertAction(title: "reset", style: UIAlertActionStyle.Destructive){
(action: UIAlertAction!) -> Void in
print("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
}
let loginAction = UIAlertAction(title: "login", style: UIAlertActionStyle.Default) {
(action: UIAlertAction!) -> Void in
let name = self.alert2.textFields!.first
let password = self.alert2.textFields!.last
print("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)

}

/// 按钮响应事件

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

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.

}

/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: