Я пытаюсь представить viewController, нажимая элемент на экране. Проблема, с которой я сталкиваюсь, заключается в том, что при нажатии этого элемента мне нужно держать вкладку внизу. Когда элемент нажимается, он переключается на viewController на основе индекса этого viewController из tabBar. Вот как это работает в настоящее время:
func getControllerAtIndex (to tab: PrimaryFeatureTab) -> UIViewController? {
selectedIndex = tab.displayOrder//this is an enum to set index
return selectedViewController
}
func navigateToMap() {
selectedIndex = PrimaryFeatureTab.map.displayOrder
}
Вот как я пытаюсь установить значение в viewController на основе индекса вкладки, пользовательский тип UIViewController имеет MapViewController, и мы хотим переключить bool "isMapEnabled" в true
if let campusMap = mainTabController.getControllerAtIndex(to: .map) {
if currentMap.isKind(of: MapViewController.self) {
currentMap.isMapEnabled. //error here: Value of type 'UIViewController' has no member 'isMapEnabled'
mainTabController.navigateToCampus()
}
}
Есть идеи о том, как перейти к MapViewController с сохранением присутствия tabBar и переключением логического значения?