Drag item
ทำให้ลากได้ก่อน
เริ่มจากการบอก TableView ก่อนว่าฉัน (TodoListViewController) เป็น dragDelegate และ enable ให้ drag ได้
override func viewDidLoad() {
super.viewDidLoad()
todo.add(item: TodoItem(title: "Download XCode", isDone: true))
todo.add(item: TodoItem(title: "Buy milk"))
todo.add(item: TodoItem(title: "Learning Swift", isDone: false))
tableView?.dragDelegate = self
tableView?.dragInteractionEnabled = true
}
จากนั้น add conform UITableViewDragDelegate
UITableViewDragDelegate
UITableViewDragDelegate จะบังคับ ให้สร้าง function ก็ให้เราใส่ตามนี้
func tableView(_ tableView: UITableView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] {
[UIDragItem(itemProvider: NSItemProvider())]
}
เนื่องจากเราจะทำ drag and drop ของในแอปเราเท่านั้น เราจึงใช้ itemProvider แบบนี้ได้
จากนั้นให้เราลองรันแอปของเรา จะพบว่า เราสามารถลากได้แล้ว

Last updated