У меня есть MapViewController
, который в основном равен MKMapView
и представляет карту с пользовательскими аннотациями.
Сейчас я пытаюсь представить еще один ViewController снизу, содержащий дополнительные фильтры, которые будут доступны пользователю.возможность использовать в своем путешествии.
Однако я столкнулся с проблемой, когда представляю нового FilterMenuViewController
как ребенка MapViewController
, MapViewController
исчезает.
Этокак это выглядит:
Исходное состояние
Кнопка для представления нового контроллера нажата
Новый контроллер представлен, ноисчезновение MapViewController
Код, обеспечивающий взаимодействие, выглядит следующим образом:
MapViewController
объявление переменных:
var filterMenuVC = FilterMenuViewController()
var isFilterMenuOpened = false
MapViewController viewDidLoad()
:
filterMenuVC = storyboard?.instantiateViewController(withIdentifier: "FilterMenuViewController") as! FilterMenuViewController
MapViewController showFilterMenu
действие кнопки:
@IBAction func showFilterMenu(_ sender: UIButton) {
// Presents the filter menu
if isFilterMenuOpened == true {
isFilterMenuOpened = false
filterMenuVC.willMove(toParentViewController: nil)
filterMenuVC.view.removeFromSuperview()
filterMenuVC.removeFromParentViewController()
} else if isFilterMenuOpened == false {
isFilterMenuOpened = true
self.addChildViewController(filterMenuVC)
self.view.addSubview(filterMenuVC.view)
filterMenuVC.didMove(toParentViewController: self)
}
}