Я использую следующий модуль для моей функциональности SideMenu.Теперь, если я открыл его из XYZ viewController и выбрал строку, которая снова открывает XYZ viewController, страница будет нажата, но вместо этого я хочу, чтобы SideMenu было закрыто, а не нажимать на уже представленный viewController.
Вот пользовательский интерфейс:
А вот мой код didSelectRow, который достаточно ясен:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
switch indexPath.row {
case 0:
let playerVC = NavigationHelper.shared.getStoryBoard().instantiateViewController(withIdentifier: "mainPage") as? MainViewController
navigationController?.pushViewController(playerVC!, animated: true)
case 1:
let historyVC = NavigationHelper.shared.getStoryBoard().instantiateViewController(withIdentifier: "historyPage") as? BroadcastsHistoryViewController
navigationController?.pushViewController(historyVC!, animated: true)
case 2:
let sendMessageVC = NavigationHelper.shared.getStoryBoard().instantiateViewController(withIdentifier: "messagingPage") as? MessaginViewController
navigationController?.pushViewController(sendMessageVC!, animated: true)
case 3:
let settingsVC = NavigationHelper.shared.getStoryBoard().instantiateViewController(withIdentifier: "settingPage") as? SettingsViewController
navigationController?.pushViewController(settingsVC!, animated: true)
case 4:
let aboutVC = NavigationHelper.shared.getStoryBoard().instantiateViewController(withIdentifier: "aboutPage") as? AboutAppViewController
navigationController?.pushViewController(aboutVC!, animated: true)
default: break
}
}
Пока яПопытка обнаружить topMost viewController
, получить свойство presentingViewController
, но безуспешно.Может ли кто-нибудь помочь мне правильно с этим справиться?