2015-11-23 2 views
1

Я хочу позвонить didSelectRowAtIndexPath(), но событие не будет запущено, когда я в режиме редактирования. Это мой код:No didSelectRowAtIndexPath() в tableView при редактировании

override func viewDidLoad() { 
    tableView.delegate = self 
    tableView.dataSource = self 
} 

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    self.tableView.deselectRowAtIndexPath(indexPath, animated:true) 
    let data = fetchedResultsController.objectAtIndexPath(indexPath) as! NSManagedObject 
... 
} 

@IBAction func updateButtonClicked(sender: AnyObject) { 
    toggleEditing() 
} 

func toggleEditing() { 
    if self.editing { 
     super.setEditing(false, animated: true) 
     self.title = "Sicherung" 
    } else { 
     super.setEditing(true, animated: true) 
     let cancelBarButton = UIBarButtonItem(title: "Fertig", style: .Plain, target: self, action: "stopEdit:") 
     navigationItem.rightBarButtonItem = cancelBarButton 
     navigationItem.hidesBackButton = true 
     self.title = "Sicherung bearbeiten" 
    } 
} 

func stopEdit(sender: AnyObject) { 
    super.setEditing(false, animated: true) 
    let cancelBarButton = UIBarButtonItem(title: "Bearbeiten", style: .Plain, target: self, action: "toggleEditing") 
    navigationItem.rightBarButtonItem = cancelBarButton 
    navigationItem.hidesBackButton = false 
} 

didSelectRowAtIndexPath() вызывалась только когда self.editing == false.

Что я делаю неправильно?

+0

[Из документов] (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewDelegate_Protocol/#//apple_ref/occ/intfm/UITableViewDelegate/tableView:didSelectRowAtIndexPath :): "_This метод не вызывается, когда для свойства редактирования таблицы установлено значение YES (то есть, представление таблицы находится в режиме редактирования) _ " – Alladinian

+0

uupps, не смотрите это! Любое обходное решение? –

ответ

2

AFAICS, проблема заключается в том, что на вашем столе вид allowsSelectionDuringEditing установлен в NO (или false, если вы используете Swift).

+0

Артур Геворкян, вот и все! Много THX! –

+0

Итак, очевидно, что документация устарела. Приятно найти :) – Alladinian

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