2015-06-06 20 views
7

Z powodu elementów interfejsu użytkownika utworzyłem kontroler widoku z wewnętrznym TableView. Ale nie mogę włączyć trybu edycji. Próbowałem kilku metod bez rozwiązania. Ale przy użyciu kontrolera TableView nie ma żadnych problemów.Tryb edycji Swift/Enable w kontrolerach widoku

Co próbowałem:

override func viewDidLoad() { 
    self.navigationItem.rightBarButtonItem = self.editButtonItem() 
} 

override func setEditing(editing: Bool, animated: Bool) { 
super.setEditing(editing, animated: animated) 
} 

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { 
     if (editingStyle == UITableViewCellEditingStyle.Delete) { 
      // Action to delete data 
     } 
    } 

Gdzie może być problem?

+0

ale to jest dla tableview Controller nie viewcontroller – mostworld77

Odpowiedz

20

zapomniałeś umieścić widok tabeli w trybie edycji:

override func setEditing(editing: Bool, animated: Bool) { 
    super.setEditing(editing, animated: animated) 
    self.tableView.setEditing(editing, animated: animated) 
} 

Ja zakładając masz nieruchomość tableView. Dostosuj w razie potrzeby.

Kilka innych rzeczy, które warto zrobić, aby emulować UITableViewController:

  1. W viewWillAppear należy odznaczyć aktualnie zaznaczonego wiersza w widoku tabeli.
  2. W viewDidAppear należy przesuwać paski przewijania widoku tabeli.