Я пытаюсь написать плагин Cordova, который открывает новый ViewController. Требуется навигационная панель (для кнопки «назад»), поэтому я хочу обернуть контроллер вида в контроллер навигации.
Я пытался выдвинуть ВК из self.viewController.navigationController?
в моем классе CDVPlugin
. Но ничего не происходит. Вид не показывает. Пример кода:
@objc(MyVCWrapper) class VCWrapper : CDVPlugin {
@objc(openVC:) func openVC(_ command: CDVInvokedUrlCommand){
// Init VC
let vc = UIViewController()
let backItem = UIBarButtonItem()
backItem.title = ""
vc.navigationItem.backBarButtonItem = backItem
vc.hidesBottomBarWhenPushed = false
// Show VC
self.viewController.navigationController?.pushViewController(vc, animated: true)
// Return success message
self.commandDelegate!.send(
CDVPluginResult(
status: CDVCommandStatus_OK,
messageAs: "Success"
),
callbackId: command.callbackId
)
}
}
Хотя это работает, если я позвоню self.viewController.present(vc, animated: true)
. Но тогда нет навигационной панели.
Кто-нибудь знает обходной путь или что я делаю неправильно?