【问题标题】:Add a storyboard view as a subview of a programmatically created view添加故事板视图作为以编程方式创建的视图的子视图
【发布时间】:2012-11-03 14:40:02
【问题描述】:

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

的操作

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

【问题讨论】:

    标签: ios xcode cocoa-touch uiview storyboard


    【解决方案1】:
    MyViewController *myViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MyScene"]; 
    [specialView addSubview:myViewController.theViewToAdd]; 
    

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

    【讨论】:

      【解决方案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()
      }
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2016-04-14
          • 1970-01-01
          • 2016-07-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多