使用多个 ViewController、Xcode 将代码连接到情节提要中的 UI

Posted

技术标签:

【中文标题】使用多个 ViewController、Xcode 将代码连接到情节提要中的 UI【英文标题】:Connecting code to UI in storyboard with multiple ViewControllers, Xcode 【发布时间】:2014-03-13 02:15:36 【问题描述】:

我在 Xcode 中有一个故事板项目。我添加了一个额外的 ViewController 并放入了一个按钮、文本框等。我可以从初始视图控制器转到辅助视图控制器,但我似乎无法将按钮连接到代码。我尝试使用 XIB 添加其他类,甚至从空白添加 XIB。如何连接我为按钮编写的代码以在第二个视图控制器上工作?

【问题讨论】:

你能显示代码吗? 我知道代码有效,我已经在其他应用程序中使用过它。我在头文件中创建了按钮,并在头文件和实现文件中都声明了 IBAction 语句。我无法将第二个和后续视图控制器上的对象连接到代码。蓝线出现,但没有连接。 【参考方案1】:

如果您在情节提要上创建了按钮。你必须做一个

-(IBAction)clickButton...

在 .h 和 .m 代码文件中。您可以通过将线从点(在代码名称前面)拖到按钮上,轻松地将代码连接到按钮。

如果您完全在代码中创建了 Button。您必须指定单击时要执行的代码。

[self.buttonName addTarget:self action:@selector(clickButton:) forControlEvents:UIControlEventTouchUpInside];

【讨论】:

我在头文件和实现文件中有代码。问题归结为第二个 UIVIewController 和后续 VC,我无法使用代码将代码连接到 UI 上的对象。即使创建了新的 .h 和 .m,我也无法建立联系。今天我将用不同的方法烧脑,如果我成功了,我会发布如何。 还是不行。我找到了有关导航控制的各种信息,但我不希望这样。我希望它能够像升级到 5 之前一样工作。感谢迄今为止的所有帮助。 啊,现在我明白你的问题了。转到故事板。打开实用程序窗口(在右侧)。单击绘图区域中的视图。在左侧的列表中,您将看到视图中的一项已被选中。为此,必须选择视图的顶层。现在,在实用程序窗口的右键单击第三个选项卡(身份检查器)。列表中有一个名为“自定义类”的区域。在这里,您必须指定文件的名称。所以例如当您的 .m 和 .h 被称为 InfoViewController.m 和 InfoViewController.h 时,InfoViewController。现在您可以使用手册将它们连接起来! 就是文森特。这解决了我的问题。现在要弄清楚下一部分……使用具有 3 个按钮的 UIImage 以编程方式填充视图……这将是我认为最难的部分,到目前为止,我还没有取得进展。【参考方案2】:

这就是答案。您将新文件添加到您的项目中,为了搞笑,我们将它们称为 UIViewController 类的 NewViewController。然后,突出显示情节提要中的第二个视图控制器,选择身份检查器,并在自定义类(顶部)下将类更改为最近添加的 NewViewController 类的名称。现在,您的所有代码都将连接到对象等等。再次感谢大家的帮助,现在我可以安息了哈哈。

【讨论】:

以上是关于使用多个 ViewController、Xcode 将代码连接到情节提要中的 UI的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个 ViewController 中打开多个文件?

使用 StoryBoard 在 Xcode 中命名多个视图

Xcode 10.1 ViewController.h 与 ViewController.swift

Xcode 6 使用具有 4 个不同视图控制器的相同视图

在 ViewController viewDidLoad 之前执行 NSApplicationDelegate 代码

Xcode 5 中缺少 ViewController.xib