xcode 视图控制器情节提要未显示

vcudknz3  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(124)

我是Xcode的初学者,我试图将YouTube视频嵌入到侧菜单的子控制器中,但我无法连接我的视图控制器文件和故事板上的UI视图控制器。我正在编写一个侧菜单控制器,子视图控制器被调用使用:

class Course2ViewController: UIViewController, MenuControllerDelegate2 {
    private var sideMenu: SideMenuNavigationController?
    
    private let abaController = abaViewController()
    private let abbController = abbViewController()
    private let abcController = abcViewController()
    private let abdController = abdViewController()
    

    override func viewDidLoad() {
        super.viewDidLoad()
        let menu = MenuController2(with: SideMenuItem2.allCases)
        
        menu.delegate = self
        
        sideMenu = SideMenuNavigationController(rootViewController: menu)
        sideMenu?.leftSide = true
        
        SideMenuManager.default.leftMenuNavigationController = sideMenu
        SideMenuManager.default.addPanGestureToPresent(toView: view)

        AddChildControllers()
    }
    
    private func AddChildControllers() {
        addChild(abaController)
        addChild(abbController)
        addChild(abcController)
        addChild(abdController)
        
        view.addSubview(abaController.view)
        view.addSubview(abbController.view)
        view.addSubview(abcController.view)
        view.addSubview(abdController.view)
        
        abaController.view.frame = view.bounds
        abbController.view.frame = view.bounds
        abcController.view.frame = view.bounds
        abdController.view.frame = view.bounds
        
        abaController.didMove(toParent: self)
        abbController.didMove(toParent: self)
        abcController.didMove(toParent: self)
        abdController.didMove(toParent: self)
        
        abaController.view.isHidden = true
        abbController.view.isHidden = true
        abcController.view.isHidden = true
        abdController.view.isHidden = true
    }
    
    @IBAction func didTapMenuButton2() {
        present(sideMenu!, animated: true)
    }
    
    func didSelectMenuItem2(named: SideMenuItem2) {
        sideMenu?.dismiss(animated: true, completion: nil)
        
            title = named.rawValue
            switch named {
        case.aba:
                abaController.view.isHidden = false
                abbController.view.isHidden = true
                abcController.view.isHidden = true
                abdController.view.isHidden = true
            
        case.abb:
                abaController.view.isHidden = true
                abbController.view.isHidden = false
                abcController.view.isHidden = true
                abdController.view.isHidden = true
            
        case.abc:
                abaController.view.isHidden = true
                abbController.view.isHidden = true
                abcController.view.isHidden = false
                abdController.view.isHidden = true
        
        case.abd:
                abaController.view.isHidden = true
                abbController.view.isHidden = true
                abcController.view.isHidden = true
                abdController.view.isHidden = false
            }
    }

}

然后,我试图通过给故事板上的新视图控制器类“abaViewController”将abaViewController文件连接到故事板上的新视图控制器,但故事板上的视图控制器没有显示。任何提示/解决方案?

8aqjt8rx

8aqjt8rx1#

这里介绍如何直接从Swift UI创建Story Board

如果你觉得SwiftUI有点太复杂了(大多数人都是这样),我真的建议你在下一个项目中选择“故事板”或“UIKit”。它允许您轻松添加视图控制器,并快速允许按钮移动到其他视图控制器只需按住按钮,然后“Control”,然后新屏幕。UIKit还允许您管理您的设计可视化的每个方面y(也管理格式和约束)而无需一行代码。更棒的是,您可以将SwiftUI和UIKit结合在一起

let storyboard = UIStoryboard(name: "MyStoryboardName", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("someViewController") as! UIViewController
// Alternative way to present the new view controller
self.navigationController?.showViewController(vc, sender: nil)

相关问题