我們在FMDB的練習中會使用到UIMenu來進行修改資料和刪除資料的功能
因此來簡單的介紹一下UIMenu
UIMenu是iOS14.0以上新增的功能,在視覺上有點類似下拉式選單的效果
我們就接著以FMDB的TableViewCell來實作UIMenu吧!
首先在cell內新增一個Button
func setMoreButton(){
moreButton.setTitle("", for: .normal) // 設定按鈕標題文字
moreButton.setImage(UIImage(systemName: "ellipsis"), for: .normal) // 設定按鈕圖案
moreButton.showsMenuAsPrimaryAction = true //是否將menu當作主要的操作
}
接下來再來設定menu的細部,先設定詳細資料和刪除兩個UIAction,將其加入UIMenu的children中,再將按鈕的menu設定為剛剛宣告的menu
func setMenu(){
let detailsAction = UIAction(title: "詳細資料", image: UIImage(systemName: "square.and.pencil"), handler: { action in
print("詳細資料")
})
let deleteAction = UIAction(title: "刪除", image: UIImage(systemName: "trash.fill"), attributes: .destructive, handler: { action in
print("刪除")
})
let menu = UIMenu(children: [detailsAction, deleteAction])
moreButton.menu = menu
}
如此一來就完成簡易的UIMenu啦!
按下menu中的按鈕後,也會執行handler裡的動作
明天就先來講如何刪除資料吧