2016-07-30 4 views
2

У меня есть RootViewController, что встраивает контейнер, содержащий таблицу:Swift: Как войти в режим редактирования таблицы?

enter image description here

я хотел бы мусор значок на левой верхней части RootViewController, чтобы включить режим редактирования для встроенного представления таблицы. Я бы хотел, чтобы они отображались как флажки, чтобы я мог выбрать сразу несколько строк, а затем нажмите «Удалить», чтобы удалить все выбранные.

Как мне это сделать?

ответ

1

Надеюсь, ваш класс уже соответствует UITableViewDelegate так:

class MyViewController: UIViewController, UITableViewDelegate 

В viewDidLoad(), вы должны иметь:

myTable.delegate = self 

Затем вы можете подключить значок корзины к IBAction, что устанавливает таблицу в режим редактирования:

@IBAction func myTableSetEditing(sender: AnyObject) {   
    myTable.setEditing(true, animated: true) 
} 

Затем, как мы видим в ответ здесь: Select multiple rows in tableview and tick the selected ones, в viewDidLoad() сайте:

self.tableView.allowsMultipleSelection = true 

и получить отметку, реализовать:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    tableView.cellForRowAtIndexPath(indexPath)?.accessoryType = UITableViewCellAccessoryType.Checkmark 
} 

override func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) { 
    tableView.cellForRowAtIndexPath(indexPath)?.accessoryType = UITableViewCellAccessoryType.None 
} 
+0

может я получить доступ к 'myTable' из корневого контроллера, если у меня есть выход на вид контейнера, содержащий таблицу? – Edmund

+0

@ Edmund http://stackoverflow.com/questions/31440378/swift-accessing-and-updating-tableview-in-container-view – Shades

+0

wow nice !! комбинация вашего ответа, и этот ответ получил поля выбора, чтобы показать – Edmund

Смежные вопросы