如何在XCode UI中将故事板连接到Swift代码?

时间:2015-10-14 12:59:07

标签: ios xcode storyboard interface-builder

这似乎是一个基本问题,但我还没能把它钉死。

我有一个Apple Watch Glance,它意味着从上到下依次为上部区域的薄标签和厚标签,然后是底部区域的图像。

我的Swift代码中有IBOutlets:

@IBOutlet var clockFaceImage: WKInterfaceImage!
@IBOutlet var hourLabel: WKInterfaceLabel!
@IBOutlet var modernLabel: WKInterfaceLabel!

当我右键单击故事板上的标签时,它有"引用Outlets"可选择"新引用插座"。当我点击或右键单击"新引用插座"时,没有任何有趣的事情发生。当我悬停时,右边的圆圈转换为加号,但是当我点击它时没有任何有趣的事情发生。

我应该做些什么来设置,以便GlanceController方法可以为图像和标签赋值?

1 个答案:

答案 0 :(得分:0)

就像注释一样,Ctrl +单击和右键单击提供相同的功能。

有两种方法可以从界面构建器文件中连接出口。它们都需要打开助理编辑器,将“界面”构建器放在一个窗格(通常是左侧)中,并在另一个窗格中打开相关的源代码。

方法1

您可以直接在相关的UI元素上按住Ctrl键并单击而不取消选择,将其直接拖到要添加属性的源控件文件中(或在现有属性上)。如果该属性已存在,则可以拖动到该属性并将其挂钩。否则,您可以拖动到空白区域,当您释放单击时,您将看到一个弹出对话框,询问您要创建的出口/操作类型的信息(IBOutlets,IBOutletCollections和IBActions都是在同样的方式)。

方法2

您可以右键单击(或按住Ctrl键单击)有问题的UI元素,以获得您提到的黑色弹出窗口。从这里,找到你要连接的东西的圆圈(在这种情况下是插座),点击并从那里拖动到你要连接的源代码,就像之前描述的那样。

一般来说,我个人通常使用第一种方法,但是当你需要连接相同UI元素的不同动作时,或者如果你只是需要检查它是否已被钩住时,第二种方法肯定有价值起来了。