У меня есть контроллер представления, который представляет другой контроллер представления, как такпредставления с контроллером уволенного
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
let qrScannerViewController = QRScannerViewController()
qrScannerViewController.presentedBy = self
self.present(qrScannerViewController, animated:true, completion: nil)
// Do any additional setup after loading the view.
}
qrScannerViewController (представленный контроллер зрения) затем вызывает
self.dismiss(animated:true, completion: nil)
который к моему пониманию, вызовы диспетчеров представления представят функцию отклонения в любом случае.
Проблема заключается в том, что после того, как представленный диспетчер представлений отклонен, представление viewDidLoad контроллера представления снова вызвано, что означает, что контроллер представления представлен снова.
Любые идеи, как обойти это?
Даже если я использую делегирование viewDidLoad По мнению контроллера ПРЕДСТАВЛЕНИЕ ныряет снова вызывается
Благодаря
Контроллер вид Предъявление определяется в UITabController:
let qrPlaceholderViewController = QRPlaceholderViewController()
let controllers = [restaurantNavController,favouritesViewController, qrPlaceholderViewController, profileViewController]
self.viewControllers = controllers
Проверьте, может быть, у вас есть где-то еще код для self.present. –
'viewDidLoad' не должен быть вызван снова, возможно, вы повторили код в' viewWillAppear'? – jjatie
@jjatie У меня нет viewWillAppear определено? Контроллер находится внутри вкладки, может быть, поэтому? – mwild