8

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

我的问题是我在故事板中创建了一个 UIView,我需要将该 UIView 作为子视图添加到我的特殊视图中。我已将它连接为我的 ViewController 中的一个属性,但是当我执行与上面相同的代码时,什么也没有发生。想法?

4

3 回答 3

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

并且不要忘记在 Interface Builder 中为您的场景(视图控制器)提供这样的标识符。

于 2012-11-15T01:10:23.170 回答
2

另一种解决方案是您可以将视图控制器添加为子视图控制器。

    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()
}
于 2016-02-23T08:02:40.600 回答
0

包含您想要的视图的 UIViewController 可能不会被实例化。因此,您需要实例化该控制器并从那里获取视图。

于 2012-11-15T01:02:07.803 回答