我创建了一个特殊的 UIView 类,它具有某些属性,我以编程方式这样做是因为它通常是空白的,但有时会包含其他视图。我知道如果我以编程方式创建 UIView 我可以做类似的事情[specialView addSubview: aView];
我的问题是我在故事板中创建了一个 UIView,我需要将该 UIView 作为子视图添加到我的特殊视图中。我已将它连接为我的 ViewController 中的一个属性,但是当我执行与上面相同的代码时,什么也没有发生。想法?
我创建了一个特殊的 UIView 类,它具有某些属性,我以编程方式这样做是因为它通常是空白的,但有时会包含其他视图。我知道如果我以编程方式创建 UIView 我可以做类似的事情[specialView addSubview: aView];
我的问题是我在故事板中创建了一个 UIView,我需要将该 UIView 作为子视图添加到我的特殊视图中。我已将它连接为我的 ViewController 中的一个属性,但是当我执行与上面相同的代码时,什么也没有发生。想法?
MyViewController *myViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MyScene"];
[specialView addSubview:myViewController.theViewToAdd];
并且不要忘记在 Interface Builder 中为您的场景(视图控制器)提供这样的标识符。
另一种解决方案是您可以将视图控制器添加为子视图控制器。
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 可能不会被实例化。因此,您需要实例化该控制器并从那里获取视图。