Swift: представьте модальный ViewController поверх другого модального ViewController и отклоните первый впоследствии - PullRequest
0 голосов
/ 26 марта 2020

У меня есть следующие настройки:

HomeViewController
|-> buttonTap: present DataEntryViewController (which has a save button)
|-> after delegate call from DataEntryViewController: presents GoodiesViewController

Итак, в основном я хочу, чтобы после нажатия кнопки сохранения и вызова делегата возвращался обратно к HomeViewController, чтобы затем он представлял GoodiesViewController Модально выше отображаемого в данный момент модально DataEntryViewController, и после завершения анимации он должен удалить DataEntryViewController снизу без анимации (невидимый).

Мой код для делегата fun c следующий:

func dataEntrySuccessful(dataEntry: DataEntryViewController) {
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let controller = storyboard.instantiateViewController(withIdentifier: "goodies")
    controller.modalPresentationStyle = .overFullScreen
    controller.modalTransitionStyle = .crossDissolve
    self.present(controller, animated: true, completion: {
        dataEntry.dismiss(animated: false, completion: nil)
    })
}

Однако, GoodiesViewController никогда не отображается, и вместо этого я получаю следующее сообщение:

Warning: Attempt to present <MyProj.GoodiesViewController: 0x104cb6a40>  on <MyProj.HomeViewController: 0x104b18f70> which is already presenting (null)

Как мне заставить это работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...