添加一个故事板视图作为编程方式创建视图的子视图(Add a storyboard view as a

2019-08-02 18:54发布

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

我的问题是,有我在故事板创建一个UIView,我需要的是UIView的加入,作为我的特别景致的子视图。 我已经与它在我的ViewController一个属性,但是当我做同样的代码上面,什么都不会发生。 思考?

Answer 1:

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

而且不要忘了给这样的标识符你在Interface Builder中的场景(视图控制器)。



Answer 2:

另一种方案是,你可以添加视图 - 控制作为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()
}


Answer 3:

里面有你想要查看的UIViewController可能不会被实例化。 所以,你需要实例化控制器,并从那里抢视图。



文章来源: Add a storyboard view as a subview of a programmatically created view