0

コンテナ ビューにナビゲーション コントローラを子ビューとして追加しようとしています。コンテナー ビューは私にとっては初めてのことですが、今では理解できたと思います...そして、コンテナー ビューを使用してデモ プロジェクトを正常に構築しました..しかし、内部にある ViewController (VC) を追加しようとするとすぐにナビゲーション スタック、この VC は表示されないだけで、その説明が見つかりません:?

既存のプロジェクトでこの機能を使用するため、これらの子をストーリーボードではなくコードに追加したいのですが、できるだけシンプルに保ちたいので、誰か助けてもらえますか?

ストーリーボードのスクリーンショット

メイン ビュー コントローラー:

import UIKit

class MainViewController: UIViewController {
    
    let naviVC = ViewController()
    let menuVC = SideMenuViewController()
    

    override func viewDidLoad() {
        super.viewDidLoad()
        
        view.backgroundColor = .green
        
        addChild(naviVC)
        addChild(menuVC)
        
        self.view.addSubview(naviVC.view)
        self.view.addSubview(menuVC.view)
        naviVC.didMove(toParent: self)
        menuVC.didMove(toParent: self)
        
        naviVC.view.frame = self.view.bounds
        menuVC.view.frame = self.view.bounds
        
        naviVC.view.isHidden = false
        menuVC.view.isHidden = true
        
    }
}

ViewController (ナビ内):

import UIKit


class ViewController: UIViewController {
    
    let menuVC = SideMenuViewController()
   
    override func viewDidLoad() {
        super.viewDidLoad()
        configureNaviBar()

    }
    
    
    //MARK: Navi Bar
    func configureNaviBar() {
        // Left Bar Button Item
        let burgerButton = UIImage(systemName: "line.horizontal.3")
        self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: burgerButton, style: .plain, target: self, action: #selector(showMenu))
    }
    
    @objc func showMenu() {
        print("Button pressed")
                // do something
        menuVC.view.isHidden = false
        print("menuVC is hidden = \(menuVC.view.isHidden)")


    }
}

SideMenuViewController:

class SideMenuViewController: UIViewController {
    

    override func viewDidLoad() {
        super.viewDidLoad()
    }
}
4

0 に答える 0