当前位置: 首页 > 知识库问答 >
问题:

IBOutlet链接到嵌入式容器视图控制器

长孙弘壮
2023-03-14

我有一个复杂的iPad视图,我通过几个视图控制器来管理它。我以前(在iOS6/xcode4.5之前)是通过在代码中分配视图控制器来实现这一点的,并通过主视图的链接将各种视图连接到它们。

我想做的是使用新的UIContainerView容器视图将视图控制器嵌入到情节提要文件中。我似乎无法将嵌入式视图控制器的IBOutlet链接到主控制器。

有可能这样做吗?或者通过标签或代码中的某些东西检索嵌入式控制器?

这个问题是关于使用容器视图的

共有3个答案

巫马自明
2023-03-14

这里是关于它的另一个线程:从父iOS访问容器视图控制器

他们建议在prepareForSegue中保留一个参考,或在self中搜索嵌入式viewController。儿童视图控制器

呼延烈
2023-03-14

我不太清楚你说的“找回嵌入式控制器”是什么意思。当您想要使用控制器时,您可以使用UIStoryboard方法instantiateViewControlllerAnd标识符:,使用您在IB中给控制器的标识符。您还可以使用performSegueAnd标识符: sender:方法(它也实例化了视图控制器)。您应该查看苹果文档中的“在应用程序中使用视图控制器”部分。它还参考了子视图控制器与容器控制器同时实例化的事实。

编辑后:如果在另一个视图控制器中嵌入容器视图,则可以使用self从包含该视图的控制器引用该嵌入视图的控制器。ChildViewController(它将是一个数组,因此如果只有一个,您可以使用lastObject获得它)。

包永新
2023-03-14

在某些情况下,另一种选择是使用-preareForSegue: sender:捕获嵌入式控制器。

例如,如果我在CustomContainerServiceController中嵌入了UINavigationController,我可以在情节提要中命名嵌入segueEmbeddeContentStack,并通过

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"embedContentStack"]) {
        // can't assign the view controller from an embed segue via the storyboard, so capture here
        _contentStack = (UINavigationController *)segue.destinationViewController;
    }
}
 类似资料:
  • 我在理解容器视图控制器的实现方式时遇到了一些麻烦。 我将一个容器拖到主视图控制器中,它会自动创建嵌入式视图控制器,并通过嵌入式segue连接。然后,我可以通过从主视图控制器访问它。 我有点困惑,在飞行中创建和使用这些。即我想用它作为警报视图。我是否只是初始化视图一次,然后在每次显示被触发时更改其内容?我应该调用或只是设置隐藏/动画视图进出? 发音有困难。希望有人会说新语,能理解我。

  • 我有一个,它嵌入到另一个中。在这个子视图控制器中,有两个s允许用户输入一些数据。 如何将嵌入视图控制器中输入的数据传回父视图控制器? 我试图使用此方法获取对子视图控制器中文本字段的引用,但出现错误。 此是嵌入的中的之一。我得到以下错误, “AnyObject”没有名为“usernameTextField”的成员 这是做到这一点的最佳方式吗?或者还有其他途径可以实现这一点吗? 非常感谢。

  • 问题内容: 我有一个storyviewcontroller,它的视图上有对象。我需要更改UILabel(在storyviewcontroller中)上的文本,并将视图加载到数组上。我已将IBOutlet连接到storyviewcontroller中的标签。 我已经创建了storyviewcontroller类的对象,并且能够访问其变量。但是,在创建storyviewcontroller的对象之后,

  • 问题内容: 题 如何仅使用按钮的touch up内部事件从一个视图控制器导航到另一个视图控制器? 更多信息 我在一个示例项目中尝试执行的步骤是: 创建示例单视图应用程序。 为用户界面(ViewController2)添加一个新文件->具有XIB的Objective-C类。 在ViewController.xib中添加一个按钮,并控制单击ViewController.h的按钮以创建内部补全事件。 转

  • 本文向大家介绍iOS 访问容器视图控制器,包括了iOS 访问容器视图控制器的使用技巧和注意事项,需要的朋友参考一下 示例 当视图控制器出现在标签栏控制器中时,您可以像这样访问标签栏控制器: 迅速 目标C 当视图控制器是导航堆栈中的一部分时,您可以按以下方式访问导航控制器: 迅速 目标C            

  • 以下的一段代码相当于定义一个ParameterizableViewController视图控制器的快捷方式,该控制器会立即将一个请求转发(forwards)给一个视图。请确保仅在以下情景下才使用这个类:当控制器除了将视图渲染到响应中外不需要执行任何逻辑时。 以下是一个例子,展示了如何在MVC Java编程配置方式下将所有"/"请求直接转发给名字为"home"的视图: @Configuration