1. 程式人生 > >[Swift通天遁地]一、超級工具-(14)使用SweetAlert製作漂亮的自定義Alert視窗

[Swift通天遁地]一、超級工具-(14)使用SweetAlert製作漂亮的自定義Alert視窗

本文將演示一款非常強大的警告視窗。

Github地址:【SweetAlert】

下載所需的第三方類庫。在下載的資料夾中,選擇:

【SweetAlert】->【SweetAlert.swift】拖動到專案中

->在彈出的新增檔案視窗中,保持預設的設定選項->【Finish】

在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】

現在編寫程式碼,建立一個警告視窗視窗。

 1 import UIKit
 2 
 3 class ViewController: UIViewController {
 4     
 5     //
新增一個警告視窗,作為當前類的一個屬性 6 var alert = SweetAlert() 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional setup after loading the view, typically from a nib. 10 11 //初始化一個按鈕,當用戶點選該按鈕時,彈出一個警告視窗 12 let popup = UIButton(frame: CGRect(x: 0
, y: 0, width: 280, height: 40)) 13 //將按鈕控制元件放置在根檢視的中心位置 14 popup.center = self.view.center 15 //設定按鈕控制元件的背景顏色為橙色 16 popup.backgroundColor = UIColor.orange 17 //設定按鈕控制元件在正常狀態下的標題文字 18 popup.setTitle("SweetAlert", for: .normal) 19 //給按鈕控制元件繫結點選事件 20
popup.addTarget(self, 21 action: #selector(ViewController.cancelAndConfirm(_:)), 22 for: .touchUpInside) 23 24 //設定根檢視的背景顏色為橙色 25 self.view.backgroundColor = UIColor.orange 26 //並將按鈕新增到根檢視中 27 self.view.addSubview(popup) 28 } 29 30 //新增一個方法,用來響應按鈕的點選事件 31 func aBasicMessageAlert(_ sender: AnyObject) 32 { 33 //當按鈕被點選時,初始化並彈出一個警告視窗,同時設定視窗中的文字資訊。 34 _ = SweetAlert().showAlert("Here's a message!") 35 } 36 37 //對程式碼進行一些修改 38 //新增一個方法,用來響應按鈕的點選事件,記得修改按鈕的方法繫結語句 39 func subtitleAlert(_ sender: AnyObject) { 40 //初始化並彈出一個警告視窗,同時設定視窗中的標題、子標題和樣式 41 _ = SweetAlert().showAlert("Here's a message!", //標題 42 subTitle: "It's pretty, isn't it?",//子標題 43 style: AlertStyle.none)//樣式 44 } 45 46 //對程式碼進行一些修改 47 //新增一個方法,用來響應按鈕的點選事件,記得修改按鈕的方法繫結語句 48 func sucessAlert(_ sender: AnyObject) 49 { 50 //初始化並彈出一個警告視窗,同時設定視窗中的標題、子標題,並將視窗樣式設定為成功樣式。 51 _ = SweetAlert().showAlert("Good job!", 52 subTitle: "You clicked the button!", 53 style: AlertStyle.success) 54 } 55 56 //對程式碼進行一些修改 57 //新增一個方法,該方法用來建立帶有多個按鈕的彈出視窗,記得修改按鈕的方法繫結語句 58 func cancelAndConfirm(_ sender: AnyObject) 59 { 60 //初始化並彈出一個警告視窗,同時設定視窗中的標題、子標題和樣式。 61 //並添加了兩個不同外觀樣式的按鈕。 62 _ = SweetAlert().showAlert("Are you sure?", 63 subTitle: "You file will permanently delete!", 64 style: AlertStyle.warning, 65 buttonTitle:"No, cancel plx!", 66 buttonColor:UIColor.colorFromRGB(0xD0D0D0) , 67 otherButtonTitle: "Yes, delete it!", 68 otherButtonColor: UIColor.colorFromRGB(0xDD6B55)) 69 //新增一條語句,用來響應按鈕被點選的事件。 70 { (isOtherButton) -> Void in 71 if isOtherButton == true 72 { 73 //當第二個按鈕被點選時,彈出另一個錯誤型別的警告視窗。 74 _ = SweetAlert().showAlert("Cancelled!", subTitle: "Your imaginary file is safe", style: AlertStyle.error) 75 } 76 else 77 { 78 //當第一個按鈕被點選時,彈出一個成功型別的警告視窗。 79 _ = SweetAlert().showAlert("Deleted!", subTitle: "Your imaginary file has been deleted!", style: AlertStyle.success) 80 } 81 } 82 } 83 84 //新增一個方法,該方法用來建立擁有自定義圖示的視窗,記得修改按鈕的方法繫結語句。 85 func customIconAlert(_ sender: AnyObject) 86 { 87 //建立一個自定義圖示樣式的視窗,圖示時專案中的一張圖片。 88 _ = SweetAlert().showAlert("Sweet!", 89 subTitle: "Here's a custom image.", 90 style: AlertStyle.customImag(imageFile: "coffee.png")) 91 } 92 93 override func didReceiveMemoryWarning() { 94 super.didReceiveMemoryWarning() 95 // Dispose of any resources that can be recreated. 96 } 97 }