Переход через кнопку в табличном представлении выполняет 2 перехода вместо одного
Я сделал контроллер tableview и добавил кнопку внутри ячейки прототипа. Затем я создал новый файл swift для этой ячейки, в который перетащил эту кнопку.
Затем я создал новый файл таблицы и добавил изображения, которые должны отображаться внутри кнопки. Все идет нормально.
Проблема заключается в следующем: я хотел выполнить переход с каждой из кнопок, каждая из которых имеет свой собственный контроллер представления (это было проще, чем использование основного и подробного контроллера представления, поскольку они все действительно разные). Моя проблема заключается в следующем: я ожидал, что это будет работать нормально, используя этот код:
cell.sportButton.tag = indexPath.row
cell.sportButton.addTarget(self, action: #selector(TableViewControllerSport.buttonClicked), forControlEvents: .TouchUpInside)
Функциональная кнопкаНажмите:
func buttonClicked(sender: UIButton)
{
let buttonRow = sender.tag
if buttonRow == 0 {
self.performSegueWithIdentifier("segueSportinfrastructuur", sender: self)
}
else if buttonRow == 1 {
self.performSegueWithIdentifier("segueSportdienst", sender: self)
}
else if buttonRow == 2 {
self.performSegueWithIdentifier("segueSportraad", sender: self)
}
else if buttonRow == 3 {
self.performSegueWithIdentifier("segueSportverenigingen", sender: self)
}
else if buttonRow == 4 {
self.performSegueWithIdentifier("segueGsport", sender: self)
}
else if buttonRow == 5 {
self.performSegueWithIdentifier("segueSportactiviteiten", sender: self)
}
}
Какие ссылки на разные сегы. Проблема заключается в следующем: когда я нажимаю одну из кнопок, она всегда сначала выполняет "segueSportinfrastructuur", а после этого выполняет эту процедуру. Поэтому, когда я нажимаю кнопку "Назад", приложение возвращается к ВК "Sportinfrastructuur", поэтому мне нужно снова нажать кнопку "Назад", чтобы вернуться к tableView.
Любой, кто знает, как это исправить, будет очень признателен!
2 ответа
Может быть один переход, который вы добавили через раскадровку. Может быть, кто-то вызывает тот переход, который вы установили путем перетаскивания из таблицы в другой контроллер.
Второй может звонить из вашего кода.
Разве это не должно быть проще с помощью didSelectRowAtIndexPath? Вот отличный пример. Как получить textLabel выбранной строки в swift?