我想嵌入UIView内的UIViewController。我想以编程方式创建这个。我在故事板中创建了UIViewController。在UIView中嵌入UIViewController
我的代码创建一个空的UIView:
let myNewView=UIView(frame: CGRect(x: (0 + screenHeight/2), y: leftView.frame.origin.y, width: screenHeight/2, height: leftView.frame.height))
myNewView.backgroundColor=UIColor.lightGray
self.view.addSubview(myNewView)
而到了的UIViewController追加到视图代码:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
var controller: UIViewController = storyboard.instantiateViewController(withIdentifier: "testView") as UIViewController
myNewView.addSubview(controller.view)
这显示我UIView里面的观点,而不是在正确的办法。 UIView在这种情况下是512像素宽。而(嵌入式)UIViewcontroller认为这是1024像素宽(全屏幕宽度)。
我该如何解决它,嵌入视图从它的父(UIView)获取宽度和高度?
你在做什么是完全错误的。您不能简单地以这种方式将视图控制器的视图添加到您的界面。 (至于尺寸,为增加的视图提供一个“框架”取决于你,但是在任何情况下,你的视图都不能正常工作。) – matt
@matt这样做的好方法是什么? – da1lbi3