В моем приложении я создал новую раскадровку, которая служит очень простым руководством по использованию определенных функций. (Instructions.storyboard). Эта раскадровка имеет свой собственный класс - InstructionsVC.swiftИспользование viewDidAppear для представления контроллера просмотра, повторного открытия его, когда он закрыт
Я хочу представить инструкцию VC, когда MainVC загружается в viewDidAppear.
Он отлично работает. Восстанавливает нагрузку на приложение, как и предполагалось. Проблема возникает, когда я нажимаю кнопку [Close] на интерфейсе инструкций. Он закрывает VC, исчезает на главном экране, а затем сразу же запускает команду VC.
Как я могу не допустить, чтобы инструкции VC загрузились после закрытия?
func openInstructions() {
let storyboard = UIStoryboard(name: "Instructions", bundle: nil)
let instructionsView = storyboard.instantiateViewController(withIdentifier: "instructionsStoryboardID")
instructionsView.modalPresentationStyle = .fullScreen
instructionsView.modalTransitionStyle = .crossDissolve
self.present(instructionsView, animated: true, completion:nil)
}
override func viewDidAppear(_ animated: Bool) {
openInstructions()
}
И в моем классе инструкции, у меня есть следующие действия на кнопку закрытия:
@IBAction func closeButtonPressed(_ sender: UIButton) {
let presentingViewController: UIViewController! = self.presentingViewController
presentingViewController.dismiss(animated: true, completion: nil)
}
Примечание - Я предпочел бы не использовать UserDefaults, чтобы решить эту проблему, потому что я собираюсь включите что-то подобное в другие части приложения и не хотите прибегать к UserDefaults для достижения желаемого поведения.
Спасибо заранее, друзья!
Спасибо! Это решение отлично работает. – Joe