Изменить свойства контроллера представления на основе индекса панели вкладок? - PullRequest
0 голосов
/ 15 апреля 2020

У меня в настоящее время есть chiclet на viewcontroller, который при нажатии должен перейти к viewcontroller, расположенному на панели вкладок. Контроллеры представления в панели вкладок - все пользовательские контроллеры представления. При нажатии на chiclet, я хочу перейти к указанному указателю c панели вкладок selectedIndex, но перед переключением изменить значение свойства в указанном контроллере панели указанных вкладок c. Например:

case .currentMap:

        let selectedIndex = mainTabController.selectedIndex
        let selectedController = mainTabController.selectedViewController
        if selectedController == MapViewController {// error Binary operator '==' cannot be applied to operands of type 'UIViewController?' and 'MapViewController.Type'
            selectedController.isMapSelected = true// Value of type 'UIViewController?' has no member 'isMapSelected'
        }

Есть идеи, как сделать это свойство, чтобы после нажатия на chiclet панель вкладок по-прежнему отображалась внизу?

1 Ответ

0 голосов
/ 15 апреля 2020
if let selectedController = mainTabController.selectedViewController as? MapViewController {
    selectedController.isMapSelected = true
}

Это захватит выбранный контроллер представления, попытается привести его к типу MapViewController, и в случае успеха вы сможете получить доступ к свойству.

...