下面我們一起來看一篇關於ios開發之swift彈窗大全例子,希望此例子能夠幫助到各位朋友。
代碼如下
復制代碼
//
// ViewController.swift
// Tanchu
//
// Created by 房允麒 on 15/12/1.
// Copyright (c) 2015年 JS. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
var alert1: UIAlertController!
var alert2: UIAlertController!
var actionSheet: UIAlertController!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// 定義一個按鈕,顯示最簡單的 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
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}