Ios 如何以编程方式更改我的viewController的视图?

Ios 如何以编程方式更改我的viewController的视图?,ios,swift,uiview,uiviewcontroller,Ios,Swift,Uiview,Uiviewcontroller,我可以使用故事板更改UIViewController中视图的类,如下所示: 如何通过编程实现相同的效果? 我试过这个: convenience init() { print("convenience init") self.init(nibName: nil, bundle: nil) self.view = MTKView() } 但它不起作用。似乎更改了MTKView的视图,但帧的大小与通过情节提要执行此操作时的大小不同 您应该在视图控制器中实现该功能,并将自定义

我可以使用故事板更改UIViewController中视图的类,如下所示:

如何通过编程实现相同的效果? 我试过这个:

convenience init() {
    print("convenience init")
    self.init(nibName: nil, bundle: nil)
    self.view = MTKView()
}
但它不起作用。似乎更改了MTKView的视图,但帧的大小与通过情节提要执行此操作时的大小不同

您应该在视图控制器中实现该功能,并将自定义视图的实例分配给视图控制器的
视图
属性:

override func loadView() {
    self.view = MyCustomView(frame: ...)
}

不起作用。应用程序崩溃了。因此,它与在故事板中直观地设置类没有相同的效果。我在寻找同样的结果。什么是崩溃?是一个金属相关的崩溃,通过设置它工作的框架:self.view=MTKView(框架:UIScreen.main.bounds)。谢谢