我正在容器中显示viewControllerA,并希望以模态形式在其上显示viewControllerB(在容器中为模态,而不是全屏显示)。为此,我打电话给:
viewControllerB.modalPresentationStyle = .overCurrentContext
viewControllerA.definesPresentationContext = true
viewControllerA.present(viewControllerB, animated: true, completion: nil)
消除它也没有问题:
viewControllerB.presentingViewController?.dismiss(animated: true, completion: nil)
在我要启用英雄过渡之前,视图将正常运行。我已经在每个VC的1个文本字段中添加了heroID。 ID是正确的,因为iPhone上的相同VC(viewControllerA不在容器中,viewControllerB模态为fullScreen)正在正确过渡。解雇后,viewControllerA的框架移到屏幕外部。有时,ViewControllerA的textSearchButton也被隐藏了(UI检查器显示了它的位置)。
您对在哪里寻找错误原因有什么建议?
编辑: 要启用英雄,我打电话:
viewControllerA.navigationController?.hero.isEnabled = true
viewControllerA.hero.isEnabled = true
viewControllerB.navigationController?.hero.isEnabled = true
viewControllerB.hero.isEnabled = true
viewControllerA.contentView.textSearchButton.hero.id = HeroViewId.propertyAddressTextField.rawValue
viewControllerB.contentView.searchTextField.hero.id = HeroViewId.propertyAddressTextField.rawValue