将故事板视图添加为以编程方式创build的视图的子视图

我已经创build了一个具有特定属性的特殊的UIView类,我这样做是以编程方式,因为它通常是空白的,但有时会包含其他视图。 我知道,如果我以编程方式创build一个UIView,我可以做一些像[specialView addSubview: aView];

我的问题是,有一个UIView,我在故事板中创build,我需要将UIView作为子视图添加到我的特殊视图。 我已经连接它作为属性在我的ViewController,但是当我做同样的代码如上,没有任何反应。 思考?

 MyViewController *myViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MyScene"]; [specialView addSubview:myViewController.theViewToAdd]; 

不要忘记在Interface Builder中给你的场景(视图控制器)提供这样一个标识符。

另一个解决scheme是你可以添加viewcontroller作为一个childviewcontroller。

  func displayContentController(content: UIViewController) { addChildViewController(content) self.view.addSubview(content.view) content.didMoveToParentViewController(self) } 

去除 :

 func hideContentController(content: UIViewController) { content.willMoveToParentViewController(nil) content.view.removeFromSuperview() content.removeFromParentViewController() } 

那个容纳你所需的视图的UIViewController可能不会被实例化。 所以你需要实例化该控制器并从那里获取视图。