首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何连接到UIContainerView

如何连接到UIContainerView
EN

Stack Overflow用户
提问于 2013-02-22 01:12:36
回答 1查看 2.1K关注 0票数 2

我有一个标准的扩展UIViewController (称为ParentViewController,或PVC),并希望有一个由ChildViewController或CVC驱动的容器或子视图。

我可以通过编程的方式看到,在PVC中,我可以调用addChild:CVC和管理调用,如didMoveToParentViewController等。但是,我希望有一种方法可以使用Interface Builder来实现这一点。

所以我布置了一个PVC的实例,然后将一个ContainerView拖到PVC的视图上,这将创建一个到子窗口的分段。在该窗口中,我将类类型指定为ChildViewController。到目前为止,这看起来很棒,但是我如何从PVC中以编程方式引用它?让我们尝试通常的方法:在PVC类扩展中,我声明:

代码语言:javascript
复制
@property (nonatomic, strong) IBOutlet ChildViewController* cvc;

当我切换到IB,突出显示PVC实例,并选择connections检查器时,我看到了我的cvc属性,但我无法将它连接到我的containerView实例(即使它的类类型设置正确)。它允许我拖动(绘制线),但不允许我实际连接它。为什么??

我在想,这对于IB来说是不可能的,但也许我看错了?

我已经阅读了Apple's docs on child views,如果我不能让IB做我想做的事情,我准备以编程的方式来做这件事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-22 01:29:56

cvc是PVC的子视图控制器,因此您可以使用childViewControllers属性获取对它的引用,这是在代码中完成的,而不是在IB中连接插座。在PVC的viewDidLoad方法中,执行以下操作:

代码语言:javascript
复制
self.cvc = (ChildViewController *)self.childViewControllers[0];

Xcode不允许你在两个不同的控制器之间连接插座,所以即使cvc被嵌入为一个子视图控制器,它仍然是一个不同的视图控制器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15008289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档