iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 13
0

Hello~ 今天來介紹一下時常在APP中登入時出現的提示框,AlertController。
先來看看一般的AlertController顯示出來的樣子吧!
AlertcontrollerDemo-1

如何使用

首先先在畫面中拉一個Button並拉Action連結至程式碼中,以利觸發AlertController。
https://ithelp.ithome.com.tw/upload/images/20181027/20107549RLhjt6OFAZ.png

接著在AlertTrigger()中加入以下程式碼。

let alertController = UIAlertController(title: "提示", message: "這是一個AlertController,按確認關閉!", preferredStyle: .alert)
let confirmAction = UIAlertAction(title: "確認", style: .default, handler: nil)
alertController.addAction(confirmAction)
self.present(alertController, animated: true, completion: nil)

首先先看第一行,這裡就是先初始化一個AlertController:

  • title:標題。
  • message:內容。
  • preferredStyle:AlertController的樣式,有兩種分別是.alert.actionsheet,這邊先選擇.alert,actionsheet則是另外一種顯示方式,待會會提到。

初始化完AlertController後,接下來就換下面的Button了

  • title:標題。
  • style:樣式,有.default.cancel.destructive三種可選擇,default為一般、cancel則是稍微粗體的字型、destructive則是紅色字體用來警告使用者可能會改變或刪除資料。
  • handler:按下按鈕後要執行的動作,是一個閉包,如果沒有要執行任何事情則填入nil

接著alertController.addAction(confirmAction)是將AlertAction加入AlertController中。
再來執行present(),將AlertController顯示出來,參數如下:

  • animated:顯示畫面時是否有動畫,通常會填true
  • completion:按下按鈕後要執行的動作,是一個閉包,如果沒有要執行任何事情則填入nil

接下來,如果想要有取消和確定的作法也相同,只要多新增一個AlertAction並add到AlertController即可,如下圖
https://ithelp.ithome.com.tw/upload/images/20181027/201075491dzAqiGOOr.png

Actionsheet

Actiosheet是AlertController的另外一種顯示方法,如下圖
https://ithelp.ithome.com.tw/upload/images/20181027/20107549KhMrstiGuK.png

如果想要讓AlertController從下方顯示,只要將preferredStyle參數改為.actionsheet即可!


上一篇
DAY12 利用xib客製化TableViewCell
下一篇
DAY14 TableView in AlertController
系列文
iOS APP開發學習筆記 30

尚未有邦友留言

立即登入留言