方法可能都會變動,畢竟現在(2014/06/20)還在beta階段,一切以Apple公布為主。
適用於iOS 8.0 或之後
UIAlertController
取代了UIActionSheet與UIAlertView,顯示AlertView的方式使用presentViewController:animated:completion:。【片段程式碼】
var alertView = UIAlertController(title: "Example to show alert", message: "Test on UIAleryView", preferredStyle: .Alert)
宣告一個名為alertView的物件,並設定AlertView顯示的title以及說明的文字,並使用Alert的樣式去顯示,如下圖所示。preferredStytle的選擇有兩種:ActionSheet、Alert,上面的範例使用的是Alert,若是使用ActionSheet則為下圖所示。
alertView.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
設定alertView的動作,按鈕的文字設為OK,使用的樣式為預設,UIAlertActionStytle有三種樣式:Default、Cancel、Destructive,處理的程序設為無。
self.presentViewController(alertView, animated: true, completion: nil)
叫ViewController顯示alertView在頁面上,使用動畫的方式顯示設為是,完成時不做任何動作。
alertView.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: cancel))
若要偵測按鈕的動作需有個func讓Action可以去執行,如上面程式碼所示。
若要偵測按鈕的動作需有個func讓Action可以去執行,如上面程式碼所示。
func cancel(alertView: UIAlertAction!) {
println("You cancel it")
}
當使用者按下Cancel按鈕後就會去執行名為cancel的func,而cancel的func程式碼如下。【完整的程式範例】
//
// ViewController.swift
// UIAlertView
//
// Created by Hsu,Yi-Sheng on 2014/6/20.
// Copyright (c) 2014年 yisheng. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet var myButton: UIButton
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
myButton.addTarget(self, action: "buttonPress:", forControlEvents: .TouchUpInside)
}
func buttonPress(sender: UIButton!) {
var alertView = UIAlertController(title: "Example to show alert", message: "Test on UIAleryView", preferredStyle: .Alert)
alertView.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: cancel))
alertView.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alertView, animated: true, completion: nil)
}
func cancel(alertView: UIAlertAction!) {
override func didReceiveMemoryWarning() {
}
}
// ViewController.swift
// UIAlertView
//
// Created by Hsu,Yi-Sheng on 2014/6/20.
// Copyright (c) 2014年 yisheng. All rights reserved.
//
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
alertView.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
}
println("You cancel it")
}
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.}
}
【執行結果】
沒有留言:
張貼留言