Итак, я перехожу на новый ViewController
с Hero (segue Framework для iOS).
Всякий раз, когда я перехожу, viewDidAppear
вызывается дважды в ViewController
, который я перехожутоже.
У меня есть два UITextField
(электронная почта и пароль), поэтому я звоню becomesFirstResponder
в текстовое поле электронной почты в viewDidAppear
.
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if (!keyboardLoaded) {
emailTextField.becomeFirstResponder()
keyboardLoaded = true
}
}
Я пытался использовать emailTextField.isFirstResponder
вместо bool keyboardLoaded, но каким-то образом мой emailTextField теряет свой статус firstResponder.
Что может быть причиной того, что мой emailTextField уходит в отставку как firstResponder, когда я перехожу на этот новый контроллер представления?
Этокак я перехожу к новому взгляду:
@IBAction func onLoginPressed(_ sender: Any) {
self.animateOutLoggedOutView(completion: { (isComplete: Bool) in
let loginVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "LoginVC")
loginVC.hero.isEnabled = true
loginVC.hero.modalAnimationType = .slide(direction: HeroDefaultAnimationType.Direction.up)
self.hero.replaceViewController(with: loginVC)
});
}