使用情节提要作为子视图?

Posted

技术标签:

【中文标题】使用情节提要作为子视图?【英文标题】:Using a Storyboard as a subview? 【发布时间】:2012-04-22 18:46:13 【问题描述】:

我正在创建一个项目,在该项目中我通过在屏幕上和屏幕外为子视图设置动画来创建自己的自定义导航系统。这些子视图之一是有一个导航控制器,以及许多其他更容易(在这种情况下)使用情节提要创建的元素。我尝试使用以下代码将故事板添加为子视图(运气不佳)。

MainSV = [self.storyboard instantiateViewControllerWithIdentifier:@"MainSubView"];

[self.view addSubview:MainSV];

我收到以下警告。

不兼容的指针类型将“UIStoryboard *__strong”发送到 UIView*'类型的参数

现在我并不是说上面的代码应该可以工作或任何东西,因为我理解错误,所以我要问的是,我怎样才能通过这种方法或任何其他方法,添加一个故事板作为我的子视图UIView?谁能指出我正确的方向?

【问题讨论】:

【参考方案1】:

您将需要使用仅在 ios 5 中可用的包含视图控制器 API:

[self addChildViewController:mainSV];
[self.view addSubview:mainSV.view];

您可以阅读文档中的陷阱等:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

【讨论】:

以上是关于使用情节提要作为子视图?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式创建视图和添加子视图比使用情节提要更好/更快[重复]

将子视图控制器链接到情节提要中的父视图控制器

从 xib 或带有情节提要的其他场景添加子视图

使用 UIViewControllerRepresentable 时 UIViewController 子视图的大小/布局不正确(没有情节提要)

何时将子视图从情节提要添加到超级视图?

使用图像作为带有情节提要的静态表格视图的背景