直到使用者按下按鈕後,才關閉對話方塊並回應使用者用者的按鈕動作。
UIAlertView常用屬性如下:
title 設定對話方塊的標題
message 設定對話方塊的內容
delagate 設定對話方塊的委派物件
numberOfButtons 傳回共有幾個按鈕
ULAlertViewStyle 設定對話方塊的樣式 ,
Default 顯示單純的文字訊息。
PlainTextInput 提供輸入文字後不會隱形的文字方塊讓
使用者輸入資料。
SecureTextInput,提供輸入文字後會隱形
的文字方塊讓使用者輸入資料。
LoginAndPasswordInput提供一個PlanTextInput和一個
SecureTextInput,可以同時輸入帳號和密碼。
常用方法如下:
init() 預設建構式
addButtonWithTitle() 依序建立按鈕並設定按鈕文字,傳回建立按鈕的索引值,第一個建立
的按鈕為0 。
buttonTitleAtIndex() 傳回指定索引的文字。
show() 顯示對話方塊
alertView(alertView,clickButtonAtIndex() 按下按鈕要解發的事件。
textFieldAtIndex(index) 取得文字方塊。index=0 取得帳號,index =1 取得密碼。
預設的UIAlertView 建構式語法
init(title:String? , message:String? , delegate:AnyObject? , cancelButtonTitle:String?)
如果要取得按下按鈕的動入,delegate 參數必須是self,否則設定nil即可。
cancelButtonTitle為第一個按鈕,通常會加上按鈕文字。
UIAlertView基本樣式
程式碼
UIAlertView(title: "Title", message: "message", delegate: nil, cancelButtonTitle: "cancelButton").show()
UIAlert按鈕的排列方式:
如果有2個按鈕,cancelButton會在左方,otherButton會在右方。
程式碼
UIAlertView(title: "title", message: "message", delegate: nil, cancelButtonTitle: "cancelButton", otherButtonTitles: "otherButtons").show()
除了用建構子,也能用別的方式建立UIAlertView
程式碼
var alertView:UIAlertView = UIAlertView()
alertView.title = "視窗標題"
alertView.message = "我用的是Default 樣式對話方塊"
alertView.delegate = nil
alertView.addButtonWithTitle("第1個按鈕")
alertView.addButtonWithTitle("第2個按鈕")
alertView.addButtonWithTitle("第3個按鈕")
alertView.addButtonWithTitle("other按鈕")
alertView.show()
用addButtonWithTitle()加入的按鈕會依加入的順序由上而下排列
程式碼
var alertView:UIAlertView = UIAlertView()
alertView.title = "視窗標題"
alertView.message = "我用的是Default 樣式對話方塊"
alertView.delegate = self
alertView.addButtonWithTitle("第1個按鈕")
alertView.addButtonWithTitle("第2個按鈕")
接下來來說明一下按鈕觸發事件,需要繼承UIAlertViewDelegate
接一個Button和Label出來
然候建立一個Button的Touch Up Inside事件, 並連結到程式碼
把Label連結到程式碼
程式碼如下
執行結果
// // ViewController.swift // book // // Created by boywhy chen on 2016/12/25. // Copyright © 2016年 boywhy chen. All rights reserved. // import UIKit class ViewController: UIViewController,UIAlertViewDelegate { @IBOutlet weak var mLabel: UILabel! @IBOutlet weak var mButton: UIButton! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //心情好,用個圓角按鈕 mButton.layer.backgroundColor = UIColor.brownColor().CGColor mButton.layer.cornerRadius = 15 } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBAction func showAlertView(sender: AnyObject) { //create UIAlertView var alertView:UIAlertView = UIAlertView() alertView.title = "確認視窗" alertView.message = "確認要結束應用程式" alertView.delegate = self alertView.addButtonWithTitle("取消") alertView.addButtonWithTitle("確定") alertView.show() } //處理函式名字固定是alertView func alertView(alertView:UIAlertView!,clickedButtonAtIndex buttonIndex:Int) { var buttonTitle:String = alertView.buttonTitleAtIndex(buttonIndex)! mLabel.text = buttonTitle } }
執行結果
沒有留言:
張貼留言