私は正しく解決できないようなジレンマがあります。私はMain_Pageを持っていて、Menu_SubviewやProfile_Subviewなどの異なるサブビューを持っています。私の問題は、Dismissを使用するか、またはSuperviewを削除するかわからないため、アプリがクラッシュすることになります。私はMain_PageからProfile_Subviewに行く場合などIOSスワップスーパービューを削除するかサブビューで削除するかを確認するにはどうすればいいですか
のために、私はこのように戻ることができ、それが
@IBAction func backAction(_ sender: UIButton) {
if let viewWithTag = self.view {
viewWithTag.removeFromSuperview()
}
}
私はProfile_SubviewにMenu_SubviewするMain_Pageから行く場合、私は使用することはできません動作しますそれがクラッシュし、私はどのように私は、pでスーパーやサブビューがあるかどうかbackAction機能で検出することができます。この
@IBAction func backAction(_ sender: UIButton) {
self.dismiss(animated: true, completion: nil)
}
を使用する必要があるため、上記のコード前のコントローラ?
すべての私のサブビュー
は次のように開かれている以下の@IBAction func Menu_Action(_ sender: Any) {
let Popup = UIStoryboard(name: "Main", bundle:
nil).instantiateViewController(withIdentifier: "Menu_Subview")
as! Menu_Subview
self.addChildViewController(Popup)
Popup.view.frame = self.view.frame
self.view.addSubview(Popup.view)
Popup.didMove(toParentViewController: self)
}