Предотвращать двойную навигацию между экранами app ios с swift

Я делаю app в IOS с swift что обладает боковым меню.

Проблема состоит в том, что, если в меню, clicko в закладке, он пересылает меня к новому экрану, до там хорошо, проблема что, если clicko больше одного раза меня пересылает к этому экрану число раз, которое есть clickado.

Возможно решать это??

Навигация меню и они видная я делаю их этой формой:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    var destViewController : UIViewController
    destViewController = mainStoryboard.instantiateViewController(withIdentifier: "HomeViewController")//Home
    sideMenuController()?.setContentViewController(destViewController)
}
1
задан 11.10.2016, 08:35
3 ответа

Я понимаю, что ты используешь SlideMenuControllerSwift

Ты мог бы тестировать закрывать боковое меню едва выбери ячейку. Так, когда ты нажмешь на элемент, автоматически ты представишь новый ViewController и у тебя не будет возможности делать больше кликов на ячейке.

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    var destViewController : UIViewController = mainStoryboard.instantiateViewController(withIdentifier: "HomeViewController")

    self.slideMenuController()?.setContentViewController(destViewController)
    self.slideMenuController()?.closeLeft()

}

Другой состоит в том, что ты должен проверять, что ты выбираешь ячейку, чтобы уметь идти, куда, ты можешь делать это, получая линию отборной ячейки

let row = indexPath.row

if row == 0
{
 //hacer x accion
}
1
ответ дан 24.11.2019, 13:09

Выбор состоит в том, чтобы спрашивать, если конечный драйвер - драйвер, который в настоящее время видимый.

if destViewController.restorationIdentifier != sideMenuController()?.contentViewController.restorationIdentifier {

        sideMenuController()?.setContentViewController(destViewController)

}
2
ответ дан 24.11.2019, 13:09
  • 1
    Восток c и # 242; я говорю, что оно не функционирует, потому что у ENSideMenu нет contentViewController –  13.10.2016, 08:05

Блокируй touch ее aplicaciГіn однажды начнитесь cГіdigo и вновь дай возможность этому, закончив ее animaciГіn или изменение вида, уже состойте в том, чтобы ты этому дал возможность используя:

- (void)viewDidDisappear:(BOOL)animated

0
ответ дан 24.11.2019, 13:09